gpt4 book ai didi

linux - 如何比较bash中的IP值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:07:54 25 4
gpt4 key购买 nike

我有下一个命令来获取我当前的 ip 地址:

ip=$(ifconfig | awk '/inet addr/{print substr($2,6)}' | grep -v "127")

我想用 if 语句检查 ip 是以 19 还是以 10 开头

if [[ $ip =~ "^19*" ]]; then some instructions; fi

但是还是不行,希望大家帮帮忙

最佳答案

首先,您的正则表达式会检查 1191991999 等,而不是“19 或 10”。 “以 19 或 10 开头”的正则表达式为 ^1[90]

其次,如果您引用正则表达式,它会作为字符串匹配,即字面意思。你可以使用

if [[ $ip =~ ^1[90] ]]; then

最好将正则表达式存储在一个单独的变量中,然后使用该变量,不加引号,以避免所有引用问题:

re='^1[90]'
if [[ $ip =~ $re ]]; then

引用资料:

关于linux - 如何比较bash中的IP值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34834887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com