当前位置: 首页 > 知识库问答 >
问题:

bash脚本中的参数数

巫马承德
2023-03-14

我想测试传递给Linux外壳脚本的参数数量,如果参数数量不是24,它应该打印一些东西,不幸的是它不起作用,有人能解释一下我做错了什么吗?

#!/bin/bash
if [[ $# -ne 2 ]] || [[ $# -ne 4 ]];
then
    echo "here";
fi

共有2个答案

杜霍英
2023-03-14

逻辑

if [[ $# -ne 2 ]] && [[ $# -ne 4 ]]; then
  echo "here"
fi
寿飞飙
2023-03-14

您应该将逻辑OR替换为逻辑AND,因此:

#!/bin/bash

if [[ $# -ne 2 && $# -ne 4 ]]; then
   echo "here"
fi

以算术形式:

#!/bin/bash

if (($# != 2 && $# != 4)); then
   echo "here"
fi

如您所见,无需使用2[[ ]]

 类似资料:
  • 问题内容: 我正在尝试制作应该像这样使用的shell脚本: 然后,脚本将ocr将图像文件转换为文本文件。到目前为止,这是我想出的: 但是我不知道如何获得和价值观。关于如何做的任何想法? 问题答案: 您提供给bashscript的参数将出现在变量中,并且数字代表该参数。是命令本身。 参数由空格分隔,因此,如果在命令中提供和,它们也将以这些变量结尾,因此: 你会得到: 省略和可能更容易,例如: 然后您

  • 如果不满足所需的参数计数,我希望我的Bash脚本打印一条错误消息。 由于某种未知的原因,我出现了以下错误: 我做错了什么?

  • 问题内容: 我知道我可以使用以下命令从bash脚本运行python脚本: 但是,如果我想将变量/自变量从bash脚本传递到python脚本,该怎么办?我怎样才能做到这一点? 基本上,bash会计算出文件名,然后python将其上传,但是当我调用它时,我需要将文件名从bash发送到python。 问题答案: 要在bash脚本中执行python脚本,您需要调用与终端相同的命令。例如 要在python中

  • 问题内容: 我有一个Linux bash脚本“ myshell”。我希望它读取两个日期作为参数,例如:。我是Java程序员,但不知道如何编写脚本来完成此任务。 脚本的其余部分如下所示: 问题答案: 您在脚本中使用,例如

  • 问题内容: 我想在我的Java程序中执行shell脚本,并传递如下所示的参数: 然后test.sh将调用另一个传递字符串参数的java程序,如下所示: 最后程序anther.jar将以这种格式解释参数 我对此感到有些困惑,因为在这种情况下我无法正确处理转义字符。 我在第一个命令中尝试了一些字符串格式,但没有获得正确的格式。 一些帮助就可以了! 谢谢! 问题答案: 我认为您最好使用 exec(Str

  • 我只想实现简单的