我有一个脚本,需要正确写入IP。
例子:
192.168.0.1 -> echo ok
1.2.3.4 -> echo ok
4.3.a.3 -> echo Not ok
300.52.256.1 -> not ok
1.2.3.4.5 -> not ok
我试过这个:
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]
then
echo SUCCES!
但这还不够好,因为300.2.3.4
对于这个表达来说这是一个很好的 IP。
唯一可接受的 IP 应该是(0-255).(0-255).(0-255).0-255)
答案1
好吧,我找到了答案:
if [[ "$ip" =~ ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ ]];
then
echo SUCCES!
感谢@muru 的帮助!