我知道这是一个简单的问题,但由于bash中挑剔的语法要求,我很难得到答案。我有以下脚本:
if ! [ [ -z "$1" ] || [ -z "$2" ] ]; then
echo "both arguments are set!"
fi
当我没有输入任何参数运行时,会得到以下输出:
./test: line 3: [: -z: binary operator expected
both arguments are set!
我没有期望任何输出 - 没有设置任何参数。我做错了什么?
-n
测试选项进行否定。 - Walter A¬(A v B) => ¬A ^ ¬B
。 - Phylogenesis[[]]
显然是一种更好的结构。仅仅因为你可以像barmar那样做,就不代表它更好... - 123[[ ]]
结构更好吗? - Zloj