在bash中匹配正则表达式
发布时间:2020-12-15 21:17:17 所属栏目:安全 来源:网络整理
导读:我正在尝试将bash脚本的参数与正则表达式进行匹配 mykill.bash [-l] [-s SIGNO] pattern1 pattern2 我正在使用这个表达式: regex = ^(-l)?(s-ss[0-9]+)?(s[a-zA-Z0-9]+){1,2}$brif [[ $@ =~ $regex ]]; then echo 'cool' 例如./mykill.bash -l -s 33 abc
我正在尝试将bash脚本的参数与正则表达式进行匹配
mykill.bash [-l] [-s SIGNO] pattern1 pattern2 我正在使用这个表达式: regex = ^(-l)?(s-ss[0-9]+)?(s[a-zA-Z0-9]+){1,2}$<br> if [[ $@ =~ $regex ]]; then echo 'cool' 例如./mykill.bash -l -s 33 abc给出$@ =’ – l -s 33 abc’,它通过了debuggex.com测试(参见图像) 解决方法
你有bash问题,而不是正则表达式问题.
在bash中分配变量时:=周围没有空格. regex='^(-l)?(s-ss[0-9]+)?(s[a-zA-Z0-9]+){1,2}$<br>' if [[ $@ =~ $regex ]]; then echo cool; fi 或者使用条件的简单形式: [[ $@ =~ $regex ]] && echo cool (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |