Set-ne yapar?

25

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?

    
sordu spitfiredd 18.09.2013 03:20

2 cevap

21
  

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

.

    
verilen cevap Nick Thom 18.09.2013 03:42
11

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

    
verilen cevap Devy 07.07.2016 21:35

Etiketlerdeki diğer soruları oku