在 Bash 中获取“which application”输出

0 bash mac-osx

这是我在 StackOverflow.com 上的原始问题

这是我写的脚本

#!/usr/bin/env bash
GP=`/usr/bin/which git`
PWD=`pwd`
echo "PATH IS: ${GP}"
echo "PWD IS: ${PWD}"
Run Code Online (Sandbox Code Playgroud)

和输出是

PATH IS: 
PWD IS: /Users/user/tmp
Run Code Online (Sandbox Code Playgroud)

所以问题是如何获得which git输出?我在 Mac OS X 10.6.2 上运行它。

War*_*ner 5

如果git未位于$PATH变量中列出的目录中,which则将无法找到它。

PATH是受以下情况:

  • 登录外壳
  • 非交互式(登录)外壳
  • 根壳

通常在/etc/profile. 也可能受~/.bashrc非交互式 shell 和~/.bash_profile登录 shell 的影响。