有人可以告诉我为什么第7行(if语句)会产生错误:
test.sh: line 7: [: command_exists: unary operator expected
谢谢!
#!/usr/bin/env bash
command_exists () {
command -v "$1" &> /dev/null ;
}
if [ ! command_exists ruby ]; then # test.sh: line 7: [: command_exists: unary operator expected
echo 'found ruby'
else
echo 'ruby not found'
fi
答案 0 :(得分:5)
if ! command_exists ruby; then
在Bash中,if
执行命令并对其返回值起作用。 [
碰巧是一个命令。