我意识到这是一个简单的问题,但由于 bash 中的语法要求很复杂,我发现很难得到答案。我有以下脚本:
if ! [ [ -z "$1" ] || [ -z "$2" ] ]; then
echo "both arguments are set!"
fi
当我不带参数运行它时,我得到以下输出:
./test: line 3: [: -z: binary operator expected both arguments are set!
我不期待任何输出 - 两个参数都没有设置。我究竟做错了什么?