Могу ли я использовать в Solaris псевдоним одной команды для нескольких возможных местоположений?

558
Thomas Owens

Допустим, у меня есть скрипт bob. Это может быть в двух местах: /usr/local/bin/bobили /usr/local/bin/scripts/bob. Есть ли способ, которым я могу использовать псевдоним bobв обоих местах, и он остановится, когда найдет bob? Так что, если он bobнаходится внутри /usr/local/bin/bob, он остановится на этом, иначе он будет смотреть /usr/local/bin/scripts/bob?

2

1 ответ на вопрос

7
quack quixote

Для этого и нужна переменная окружения PATH.

Расположите переменную среды PATH так, чтобы оба местоположения были на пути, И в том порядке, в котором вы хотите, чтобы они были проверены.

Так что в вашем примере /usr/local/binдолжно быть раньше, чем в PATH /usr/local/bin/scripts.

Большинство систем, вероятно, /usr/local/binуже имеют системный путь, поэтому вам нужно всего лишь добавить второе местоположение в сценарии запуска оболочки. Если вы используете bash, эта команда будет делать:

export PATH=$PATH:/usr/local/bin/scripts 

Другие снаряды будут отличаться.

+1: именно то, что я пришел сюда, чтобы сказать. Каталоги bin - это хорошее место для хранения команд; вместо того, чтобы помещать каталог скриптов в путь, вы можете поместить ссылки на команды скриптов в каталог bin ... Но это личное предпочтение. Satanicpuppy 14 лет назад 1

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