Bulduğum ve çalıştırmaya çalıştığım bir komut dosyası var, sadece Apache çalışma zamanı kitaplıklarını indirip yüklüyor. İlk satır set -e
ve bir hataya neden oluyor; set -e
ne yapar?
Bulduğum ve çalıştırmaya çalıştığım bir komut dosyası var, sadece Apache çalışma zamanı kitaplıklarını indirip yüklüyor. İlk satır set -e
ve bir hataya neden oluyor; set -e
ne yapar?
Bu yapı, kendi bölümünü hak ettiği kadar karmaşıktır.
seti kabuk seçeneklerinin değerlerini değiştirmenize ve konumsal parametreler veya kabuk isimlerini ve değerlerini görüntülemek için değişkenler.
-e
seçeneği
-e
Eğer bir boru hattı (bkz. Boru Hatları) tek basit komut (bkz. Basit Komutlar), bir subshell komutu parantez içine alınmış (Komut Gruplaması'na bakın) veya komutlardan biri Parantez tarafından kapsanan bir komut listesinin parçası olarak yürütülür (Komuta bakınız Gruplandırma) sıfır olmayan bir durum döndürür. Eğer kabuk başarısız olan komut, hemen aşağıdaki komut listesinin bir parçasıdır anahtar kelimeye kadar veya bir süre geçtikten sonra, bir if ifadesinde testin bir parçası & amp; & amp; veya || aşağıdaki komut haricinde liste son & amp; & amp; veya ||, bir boru hattındaki herhangi bir komut, ancak sonuncu veya komutun dönüş durumu ile tersine çevriliyor! ERR'de bir tuzak varsa set, kabuktan çıkmadan önce yürütülür.
Bu seçenek kabuk ortamı ve her bir alt kabuk için geçerlidir. ortamı ayrı ayrı (bkz. Komut Yürütme Ortamı) ve tüm komutları yürütmeden önce alt kabukların çıkmasına neden olur alt kabuk.
Kaynak: www.gnu.org
@ psusi'nin yorumuyla ilgili düzenleme yapıldı.
Ayrıca, bash'ın el ile sayfasını okuyabilirsiniz
man bash
bölümünde: SHELL BUILTIN COMMANDS
veya sorun
help set
Kısa bir yardım mesajı için .
set -e
kısa, bash betiğinizin en üstünde olduğunda, komut dosyasındaki herhangi bir satır başarısız olduğunda komut dosyasının çıkmasını söyler (kılavuzda listelenen bazı istisnalar hariç). [1]
Bir hata ayıklama seçeneği olarak, genellikle "+" işaretiyle yürütmeden önce her bir genişletilmiş komut satırını yazdırmak için set -x
ile kullanılır. [2]
Daha fazla bilgi için:
[1] İşte
[2] İşte
Etiketlerdeki diğer soruları oku bash