Bash脚本:IP地址变量可以吗?

时间:2020-10-28 22:45:53

标签: linux bash networking

是否可以将IP地址指向特定名称?我不介意需要采取什么方法,只需要一些建议即可,因为我是bash的新手。原因是我想创建一个脚本来检查我输入的IP是哪个站点。

例如10.10.100.10 = SITECODE

1 个答案:

答案 0 :(得分:0)

这是一个工作代码,$ 1表示控制台命令中脚本名称之后的第一个参数。

P.S。我有bash 4.4.20版本

您可以这样运行它:

./ script.sh 127.0.0.1

输出应为:

爱丽丝

#!/bin/bash
INPUT=$1
ARRAY=( "127.0.0.1:Alice"
        "127.0.0.2:Bob"
        "127.0.0.3:John"
         )

for pair in "${ARRAY[@]}" ; do
KEY="${pair%%:*}"
if [ $KEY == $INPUT ];then
    VALUE="${pair##*:}"
    echo $VALUE    
fi
done

另一个变种是从文件list_of_ip.txt中读取(该文件不应包含其他换行符):

#!/bin/bash
INPUT=$1

while IFS= read -r pair; do
    KEY="${pair%%:*}"
    if [ $KEY == $INPUT ];then
        VALUE="${pair##*:}"
        echo $VALUE
    fi
done < list_of_ip.txt