如何创建合法参数检查规则?要求程序参数为+number或-number格式
校验
-number或+number格式参数的方法 要确保程序运行时传入的参数符合-数字或+数字的格式,你可以借助bash的正则表达式匹配功能实现合法性校验,具体方案如下:
- 先检查是否传入了参数:如果没有任何参数传入,直接提示错误并退出程序
- 用正则表达式严格匹配参数格式:要求参数必须以
+或-开头,后续紧跟一个或多个数字
修正后的示例代码:
#!/bin/bash # 检查是否传入参数 if [ $# -eq 0 ]; then echo "错误:必须传入格式为'-number'或'+number'的参数" exit 1 fi # 校验参数格式合法性 if [[ "$1" =~ ^[+-][0-9]+$ ]]; then subsync -o "$1" "subtitle.srt" else echo "错误:参数格式不正确,需为'-number'或'+number'格式" exit 1 fi
正则表达式说明:
^:匹配字符串的起始位置[+-]:匹配+或-符号二选一[0-9]+:匹配一个或多个阿拉伯数字$:匹配字符串的结束位置
这种方式能精准过滤非法输入,避免不符合格式的参数导致后续命令执行异常。
内容的提问来源于stack exchange,提问作者D S
相关产品推荐
相关产品推荐

