是否可以将IP地址指向特定名称?我不介意需要采取什么方法,只需要一些建议即可,因为我是bash的新手。原因是我想创建一个脚本来检查我输入的IP是哪个站点。
例如10.10.100.10 = SITECODE
答案 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