Как проверить, какое управление принято?

Мне назвали сценарий оболочки foo.sh в /usr/local/sbin. Кроме того, я использую другой сценарий с тем же именем. Это хранится в /home/user/scripts.

Оба пути принадлежат PATH. Как я могу узнать, какой из тех сценариев выполняются при вводе foo.sh на командной строке? Я могу влиять на него?

9
задан 11 September 2015 в 06:04

1 ответ

Несколько дней назад я был удовлетворен своим ответом. Я также знал что which команда не используется, чтобы протестировать, существует ли команда. Теперь я не таким образом удовлетворен своим ответом, и я обращаюсь к этому большому ответу.


С простым which команда:

which foo.sh

Или a type команда:

type foo.sh

И можно влиять на это с порядком путей в Вашем $PATH или через полный путь, когда сценарий запускается, НАПРИМЕР.

/home/user/scripts/foo.sh

Пример

Если ПУТЬ определяется как ниже

/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 как более высокий приоритет.

10
ответ дан 23 November 2019 в 05:02

Другие вопросы по тегам:

Похожие вопросы: