Несколько дней назад я остался доволен своим ответом. Я также знал, что which
команда не используется, чтобы проверить, существует ли команда. Теперь я не очень доволен своим ответом, и я ссылаюсь на этот замечательный ответ .
С помощью простой which
команды:
which foo.sh
Или type
команда:
type foo.sh
И вы можете влиять на это с помощью порядка путей в вашем $PATH
или через абсолютный путь при запуске скрипта, например
/home/user/scripts/foo.sh
пример
Если PATH определяется как показано ниже
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
И вы запускаете скрипт или что-то еще, что находится внутри /usr/local/bin
и внутри /usr/bin
скрипта /usr/local/bin
как более высокий приоритет.
bash
иzsh
есть такжеtype
встроенный; вместо этого, вzsh
which
отличие отbash
, является встроенным (и не/usr/bin/which
)