问题
我的 $PATH
中可能有也可能没有可执行的 thing
。
如何在 ZSH 脚本中巧妙地检查这一点?
现有尝试
我只是运行命令,发送输出和错误或 noman's land,然后检查结果代码。
thing > /dev/null 2>&1
thing_installed=$?
if [ $thing_installed -eq 0 ]; then
echo 'Thing Installed!'
fi
我觉得这可以做得更巧妙(一个衬垫?)。
最佳答案
在 zsh 中,which
的行为合理,所以你可以简单地这样做
if which thing > /dev/null 2>&1; then
echo installed
fi
或
which thing > dev/null 2>&1 && echo installed
请注意,这是一个 shell 内置函数,其行为在所有 shell 中都不合理,因此不能依赖此行为。
关于shell - 测试 unix 中是否存在可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21799441/