0

我知道如何为 bash 中的参数提供默认值,或者如果未设置,如何以错误消息退出。(从这里

我想检查是否设置了参数,如果没有设置,则执行一些代码并退出。

if [$1 is not set]; then
  execute command
fi

我正在为另一个命令编写一个包装器。如果没有设置第一个参数(它实际上是一个输入文件名),它有它自己的使用信息。它还有我现在正在硬编码的其他输入。bash 脚本中的实际命令类似于:

command $1 12 3124 534

如果没有 $1 发送到脚本,我想调用它自己的帮助消息。

4

1 回答 1

4

只需检查参数的长度:

if (( $# < 1 )); then
    echo 'There are no arguments, so you can bet that $1 was not set.'
fi

检查变量在 shell 中是否具有非空值通常很简单:

[ -n "$val" ]

但是,如果您想确定一个名称是否已被声明,我会向您推荐 BashFAQ 83

于 2013-01-16T17:35:19.407 回答