我想测试传递给 Linux shell 脚本的参数数量。如果参数数量不是 2
或 4
,它应该打印一些内容。不幸的是它不起作用。谁能解释一下我做错了什么?
#!/bin/bash
if [[ $# -ne 2 ]] || [[ $# -ne 4 ]];
then
echo "here";
fi
最佳答案
您应该将逻辑 OR
替换为逻辑 AND
,因此:
#!/bin/bash
if [[ $# -ne 2 && $# -ne 4 ]]; then
echo "here"
fi
算术形式:
#!/bin/bash
if (($# != 2 && $# != 4)); then
echo "here"
fi
如您所见,无需使用 2 [[ ]]
关于linux - bash 脚本中的参数数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27335048/