如何检查bash脚本的参数是否为“标志”

我想确保给定的参数是标志,这意味着-x其中x的某些字符或序列。

我尝试使用以下方法做到这一点:

if [[ "$(echo '$1' | sed 's/[^-]//g')" -ne "-" ]];
then
  echo "$usage"
  exit
fi

我的理由是,如果-在删除其他字符时不存在,则不是标志。

虽然这不起作用,并且显然很脆弱,但是我不知道如何正确执行此操作。

# valid
script.sh -asdf
# invalid
script.sh sdf
阿努巴瓦

您可以通过这种方式进行操作,以确保$1从开始-

if [[ "${1?}" != -* ]]; then
   echo "$usage"
   exit 1
fi

${1?}如果脚本$1不可用,它将使脚本失败

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查参数是否传递给bash脚本

在函数Bash中:如何检查参数是否为集合变量?

检查传递给bash脚本的参数是否为某个扩展名的文件

在bash脚本中将脚本的输入参数检查为空失败

如何从脚本检查iptables是否为空

当它的列表允许多个值时,如何检查脚本中的参数是否为null?

如何检查是否设置了标志组合的标志?

如何检查给定参数是否为条件?

如何检查参数是否为lambda

检查文件(作为脚本的参数传递)是否为.iso类型

在bash脚本中将“标志”与“参数”分开

bash脚本检查当前git分支是否为“ x”

Bash脚本检查图像是否为动画png(apng)

检查标志是否设置为大整数

如果传递的参数是文件或目录,如何检查bash脚本?

Shell脚本:如何检查变量是否为null或否

如何在python脚本中检查系统是否为FreeBSD?

如何检查bash脚本中是否以root身份运行

如何通过bash脚本检查文件是否存在?

如何检查Bash Shell脚本中是否存在目录?

如何检查 Bash shell 脚本中是否存在目录?

如何通过Bash脚本检查程序是否存在?

如何检查是否使用bash脚本安装了mysql?

如何检查bash输入是否被重定向到PHP脚本?

在 bash 脚本中,如何检查是否设置了“-e”?

如何检查程序在bash脚本中是否成功运行?

bash脚本-如何检查以开头的目录是否存在

如何在CLI11中检查选项是否为标志?

如何在bash脚本中在单独的行上为每个标志添加注释?