【问题标题】:How can i check if no arguments are given [duplicate]我如何检查是否没有给出参数[重复]
【发布时间】:2016-01-21 13:31:44
【问题描述】:

我想检查用户是否给脚本提供了任何参数,如果是这样,脚本应该关闭。

if [ $@ = "" ]; then
    exit
fi

不工作。

【问题讨论】:

  • 参数个数存储在变量$#
  • 请注意,这不起作用的原因是您需要在 $@ 周围加上双引号,因为 bash 如何处理空字符串。不加引号,当没有传入任何参数时,第一行变为if [ = "" ]; then,这会导致语法错误。引用,你有if [ "" = "" ]; then,按预期处理。

标签: bash shell terminal


【解决方案1】:

你可以这样试试,

if [ "$#" -eq 0 ]; then
    echo "Illegal number of parameters"
fi

【讨论】:

    猜你喜欢
    • 2013-06-05
    • 1970-01-01
    • 2021-10-15
    • 2013-02-18
    • 2012-02-16
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多