Вот мой оригинал вопрос на StackOverflow.com
Это сценарий, который я написал
#!/usr/bin/env bash
GP=`/usr/bin/which git`
PWD=`pwd`
echo "PATH IS: ${GP}"
echo "PWD IS: ${PWD}"
и выход
PATH IS:
PWD IS: /Users/user/tmp
Итак, вопрос в том, как получить which git
вывод? Я запускаю его на Mac OS X 10.6.2.
Если git
не находится в каталоге, указанном в вашем $PATH
переменная, which
не сможет найти его.
В PATH
зависит от следующих обстоятельств:
Обычно указывается в /etc/profile
. Также может быть затронуто ~/.bashrc
для неинтерактивной оболочки и ~/.bash_profile
для оболочки входа.
Использовать type
(встроенный Bash) вместо which
:
gp=$(type -P git)
Если вы используете type -a
в результате будут показаны псевдонимы, функции и более одного исполняемого файла, если существуют альтернативы. При необходимости вы можете проанализировать вывод.
Не устанавливайте PWD
- это уже установлено Башом. Фактически, я рекомендую не использовать имена переменных, начинающиеся с заглавных букв, чтобы избежать конфликтов имен с переменными Bash.
# no need to set PWD, it's already set by Bash
echo "PWD IS: ${PWD}"