В Unix я могу вызывать определенные программы из любой точки мира , например sort
, pwd
или my_custom_script.sh
.
Как я могу узнать, где в системе действительно находится my_custom_script.sh
?
Используйте which
which sort
Дает вам (например):
/usr/bin/sort
Это также поможет вам устранить проблемы с вашим PATH, например, если у вас установлено несколько версий одного и того же двоичного файла, и вы не знаете, какая из них называется.
Поэтому, если у вас есть несколько версий, вы можете использовать ключ -a
:
charon:~ werner$ which -a ruby
/Users/werner/.rvm/rubies/ruby-1.9.2-head/bin/ruby
/Users/werner/.rvm/bin/ruby
/usr/bin/ruby
Я бы порекомендовал использовать type command
. which command
выглядят только в PATH, поэтому могут вводить в заблуждение встроенные функции (например, pwd), функции и псевдонимы.