我想确保给定的参数是标志,这意味着-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] 删除。
我来说两句