~
$HOME
bir dizi kabuk tarafından sağlanan bir takma addır, ancak $HOME
daha evrenseldir. $HOME
aslında kabuktan HOME çevresel değişkenini buraya eklemesini (yerine koymasını) ister. İkame edilebilen çok sayıda farklı çevresel değişken vardır, env
bir liste için çalışmayı deneyin . ~
Bir sözcüğün başında olmadığı zaman her zaman tanınmayacağını unutmayın . Karşılaştırma için şu iki komutu deneyin:
ls /~
ls /$HOME
Birincisi, ls çalıştırılabilir dosyasına geçirilir ve /~
sonra ~
kök dizinde çağrılan bir dosyaya bakmaya çalışır , ikincisi genişler $HOME
ve //home/user
sonra da komut satırı argümanı olarak ls yürütülebilir dosyasına aktarılır. Tüm POSIX sistemleri (POSIX, UNIX ve Linux sistemlerinin nasıl çalıştığı için standarttır), birden fazla eğik çizginin bir eğik çizgi ile aynı şekilde işlenmesine izin verir //home/user
, yani aynıdır /home/user
. ~username
kabuğa passwd dosyasındaki kullanıcı adını aramasını ve ana dizinlerini döndürmesini bildiren bir kısayoldur. Eşdeğer bir ortam değişkeni yoktur. Bu ikamelerin tümü kabuk tarafından yapılır ve çoğu tarafından desteklenir, ancak yalnızca gibi ortam değişkenlerinin $HOME
tüm kabuklar tarafından desteklenmesi garanti edilir. Ayrıca,cd
aslında yerleşik bir komuttur. Kabuğa dizinleri değiştirmesini söyleyen özel bir yönerge. echo
Kabuk işleminin temel bir niteliğini değiştirmek için kullanıldığı için ayrı bir yürütülebilir dosya olarak uygulanabilen diğer kabuk yerleşiklerine benzemez . echo
yalnızca performans nedenleriyle oluşturulmuş bir kabuktur, ancak UNIX'in eski güzel günlerinde yalnızca kendi yürütülebilir dosyası olarak mevcuttu /bin/echo
.