linux - bash 脚本中的参数数量

标签 linux bash shell command-line-arguments

我想测试传递给 Linux shell 脚本的参数数量。如果参数数量不是 24,它应该打印一些内容。不幸的是它不起作用。谁能解释一下我做错了什么?

#!/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/

相关文章:

php - svn 从 php 文件更新

linux - 删除两个目录之间所有相同的文件

linux - 使用正则表达式修改文本文件

linux - openssl/RSA - 使用公钥解密

linux - 如果未设置环境变量,如何记录?

linux - 使用 bash 向不断增长的段落添加新行

bash - 在运行容器之前运行bash命令

java - 如何从远程服务器的 Shell 脚本运行 java -jar 命令?

linux - $作为argv在linux中的特殊含义是什么

Bash 返回语句中出现非法数字错误