Birisi bana aşağıdaki iki örnek A) ve B) 'de kabuğun ne yaptığını açıklayabilir mi? Açıkçası farklı davranıyor, ancak çıktının neden farklı olduğunu bulamıyorum.
Örnek:
Şu anki dizinimizde bla.sh
sadece bir komutla adlandırılmış bir komut dosyası alalım :
echo ${0##/*} hello
A)
Başlatan: ./bla.sh
verir:./bla.sh hello
B)
Başlatan: . bla.sh
verir:-bash hello
Bunu bir komut dosyasında kullandığım için, ikinci çıktı (-bash'in önündeki "-" yüzünden) komutu öldürür. Tabii ki, --
önce basit bir ${...}
yardımcı oldu, ama ilk etapta çıktı neden neyin olduğunu anlamak isterim.
Ben bash'ı seviyorum. Ve vi [m]. Ama konuya giriyorum…