【问题标题】:Test bash command line arguments测试 bash 命令行参数
【发布时间】:2014-07-09 04:37:29
【问题描述】:

我不太了解 bash,但这似乎很基础,但我坚持下去。我正在使用安装在 Mac OS X 上的 bash。我只是想测试 1 个命令行参数,这就是我所拥有的,但它不起作用。

if [$1 -eq 'clean']
then
    echo "Your argument is 'clean'!"
fi

每次我尝试过,bash 都会给我一个 command not found 错误。

我显然做错了什么,是什么?

【问题讨论】:

  • [] 周围的空格是必需的,因此请使用:if [ "$1" = 'clean' ]
  • 谢谢!如果您将其作为答案发布并用双等号更正单个等号,我会批准它。

标签: bash command-line-arguments


【解决方案1】:

这里有几个问题:

  1. shell 中需要[] 周围的空格
  2. -eq 用于比较整数而不是字符串

试试这个:

if [[ "$1" == "clean" ]]; then
    echo "Your argument is 'clean'!"
fi

如果您使用 bash,那么 [[]][ and ] 更有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2020-08-04
    相关资源
    最近更新 更多