2015-03-25 24 views
38

Sık sık kabuk komut dosyası içinde $? $0 $1 $2 etc.... rastlamak, bildiğim $? döner çıkış son komutu

echo "this will return 0" 
echo $? 

durumu ancak diğerleri ne yaparsınız ki? Onlar ne denir ve daha var? belki de $ 3 $ 4 $ 5 ...

+1

http://tldp.org/LDP/abs/html/othertypesv.html –

cevap

81

Bunlar, komut dosyasının konumsal argümanlarıdır. Onlar Positional Parameters denir

$0 = script.sh 
$1 = Hello 
$2 = World 
16

yapacak

./script.sh Hello World 

yürütülmesi

.

3.4.1 konumsal parametreler

bir konumsal parametre çalıştırıldığında 0 Konumsal parametreler kabuğun argümanlar atanır tek haneli dışında bir ya da daha fazla rakam ile temsil edilen bir parametredir ve örneğin set yerleşik komutunu kullanarak yeniden atanmalıdır. Konumsal parametre N, N tek bir basamaktan oluştuğunda $ {N} veya $ N olarak referanslanabilir. Pozisyonel parametreler atama cümleleri ile atanamaz. Set ve shift yerleşikleri bunları ayarlamak ve kaldırmak için kullanılır (bkz. Kabuk Yerleşik Komutları). Bir kabuk fonksiyonu yürütüldüğünde konumsal parametreler geçici olarak değiştirilir (bkz. Kabuk İşlevleri).

Tek bir basamaktan daha fazlasından oluşan konumsal bir parametre genişletildiğinde, parantez içine alınmalıdır.

+0

'$' Burada açıklanmıştır özel parametredir:? Https://www.gnu.org/software/bash/ manuel/bash.html # Özel Parametreler –

İlgili konular