Diğer sorularınızdan OS X kullanıyorsunuz. OS X'teki varsayılan HFS + dosya sistemi büyük / küçük harf duyarlı değildir: aynı dizinde "abc" ve "ABC" adlı iki dosyaya erişemez ve erişmeye çalışamazsınız. her iki isim de aynı dosyaya ulaşacaktır. Aynı şey Cygwin altında veya büyük / küçük harf duyarlı dosya sistemlerinde (FAT32 veya ciopfs gibi ) olabilir.
grep
Gerçek bir çalıştırılabilir olduğundan , dosya sistemine (dizinlerinde PATH
) baktı . Kabuğunuzun /usr/bin
her ikisini de aradığında grep
veyaGREP
grep
çalıştırılabilir dosyayı bulacaktır .
Kabuk yerleşikleri dosya sisteminde aranmaz : yerleşik oldukları için, kabuğun kendi içinde (büyük / küçük harfe duyarlı) dize karşılaştırmaları yoluyla erişilir.
Karşılaştığınız şey ilginç bir durum. cd
Bir yerleşik olmasına rağmen , büyük küçük harf duyarlı erişimli, CD
çalıştırılabilir olarak bulunur /usr/bin/cd
. cd
Yürütülebilir oldukça işe yaramaz çünkü: cd
Geçerli kabuk yürütme ortamı etkiler, her zaman bir kabuk olarak verilmiştir düzenli yerleşik ama orada cd
yürütülebilir POSIX aşkına kendisi için dizini değiştirir ve daha sonra hemen sonlandırır neyse, çevredeki kabuk bırakarak başladığı yer.
Bunları type
yerleşik olarak deneyebilirsiniz :
$ type cd
cd is a shell builtin
$ type CD
CD is /usr/bin/CD
type
Bu komutu çalıştırdığınızda kabuğun ne yapacağını söyler. Çalıştırdığınızda cd
yerleşik yapıya erişirsiniz, ancak CD
çalıştırılabilir dosyayı bulur. Diğer yerleşikler için yerleşik ve yürütülebilir dosya makul derecede uyumlu olacaktır (deneyin echo
), ancak cd
bu mümkün değildir.
alias GREP
veyawhich GREP
çıkarın.