如何在bash中检查args并执行某个参数的某些命令?

时间:2013-01-16 17:31:42

标签: bash

我知道如何为bash中的参数赋予默认值,或者如果未设置错误消息则退出并显示错误消息。 (来自here

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

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

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

command $1 12 3124 534

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

1 个答案:

答案 0 :(得分:4)

只需检查参数的长度:

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

检查变量在shell中是否具有非空值通常是微不足道的:

[ -n "$val" ]

但是,如果您想确定某个名称是否已宣布,我会将您推荐给BashFAQ 83