下面的脚本可以在CentOS上正常运行,但不能在RHEL5上运行:
#!/bin/bash
read -p "enter your value:" ip
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
echo "valid"
else
echo "invalid"
fi
运行脚本并仅传递192.16666作为输入,它将说是有效的。但是,如果您在CentOS中执行相同的操作,它将表示无效。
请让我知道出了什么问题。
谢谢
我自己解决了此问题,方法是在正则表达式中添加单引号,例如:
#!/bin/bash
read -p "enter your value:" ip
if [[ $ip =~ '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' ]]
then
echo "valid"
else
echo "invalid"
fi
谢谢bdw :)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句