我正在编写一个脚本,它将运行用不同语言编写的程序的几个版本,因此它应该能够检测系统是否可以先运行文件。我发现this question有点用,但我想知道我的现有代码是否可以改进。
我使用以下方法检查程序是否存在。
if type "$PROGRAM" >/dev/null 2>&1; then
# OK
fi
我在辩论这个问题是否应该放在Code Review中,但我决定在这里发布,因为它只有两行代码。
答案 0 :(得分:2)
我在bash中使用它:
# Convenience method to check if a command exists or not.
function command_exists {
hash "$1" &> /dev/null
}
这给了我一个command_exists
:
if command_exists "vim"; then
echo "and there was great rejoicing!"
fi
或一次性:
command_exists "vim" && echo "and there was great rejoicing!"
function die {
echo "$1"
exit 1
}
command_exists "vim" || die "Vim needs to be installed"