Unix'te, belirli programları her yerden sort
, pwd
veya gibi , çağırabilirim my_custom_script.sh
.
Sistemin my_custom_script.sh
gerçekte nerede bulunduğunu nasıl öğrenebilirim ?
Unix'te, belirli programları her yerden sort
, pwd
veya gibi , çağırabilirim my_custom_script.sh
.
Sistemin my_custom_script.sh
gerçekte nerede bulunduğunu nasıl öğrenebilirim ?
Yanıtlar:
Kullanmanızı tavsiye ederim type command
. which command
yalnızca PATH'a bakın, bu nedenle yerleşikler (pwd gibi), işlevler ve takma adlar için yanıltıcı olabilir.
which
bir kabuk yerleşimi değildir, bu nedenle iç komutlar / takma adlar ve benzerleri hakkında hiçbir fikri yoktur.
kullanım which
which sort
Size verir (örneğin):
/usr/bin/sort
Bu aynı zamanda PATH'ınızla ilgili sorunları gidermenize de yardımcı olur, örneğin aynı ikili sistemin birkaç versiyonunun kurulu olması ve hangisinin çağrıldığını bilmiyorsanız.
Bu nedenle, birden fazla sürümünüz varsa, -a
anahtarı kullanabilirsiniz :
charon:~ werner$ which -a ruby
/Users/werner/.rvm/rubies/ruby-1.9.2-head/bin/ruby
/Users/werner/.rvm/bin/ruby
/usr/bin/ruby
which
my_custom_script.sh için çalışacak ancak pwd ve benzeri komutlar hakkında yanıltıcı bilgi verecektir.
which
aslında takma adları da listeler.