我已经根据网卡名称输入创建了一个脚本,用于分隔找到的IP。
#!/bin/bash
echo what is your NIC?
read NIC
IP=`ifconfig $NIC 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`
NEWSTRING=${IP:0:6}
ALPHARETTA="12.101"
EUFAULA="12.102"
if [ "${NEWSTRING}" = "${ALPHARETTA}" ] ; then
echo I'm in Alpharetta
else
echo I'm in Eufaula
fi
如果eth0为12.101.1.1,则只需要(12.101)
我正在为我的测试比较12.101和12.101 ......我正在回复这个回声....
what is your NIC?
eth0
Im in Alpharetta
else
echo Im in Eufaula
我显然做了一些愚蠢的事情,而没有看到它......有人能指出我正确的方向吗?
答案 0 :(得分:2)
bash解析器正在查看您试图在“我是”这个词中回显的撇号字符,并且它认为您正在尝试打印从脚本的第10行到第12行的一个长字符串。您甚至可以看到此站点上突出显示的语法也表明存在问题。你应该用引号将你回复的消息包装起来。例如:
echo "I'm in Alpharetta"