#!/bin/bash
echo "Number of hosts entered are "$#
echo "Hostnames are "[email protected]
for i in "[email protected]"
do
echo "Logging in to the host "$i
pbsh [email protected]$i '
ipaddr=`ip r | awk '{print $9}'`
if [ ipaddr = 172.*.*.* ]
then
echo "Script can not be run in this IP series"
exit
else
cd /var/tmp ; wget http://**********
fi'
done
执行上述脚本后,它将抛出错误。该脚本正在执行,但不是以所需的方式。无法通过在shell脚本中使用awk命令进行打印
awk:cmd。行:1:{print
awk:cmd。行:1:^意外的换行符或字符串的结尾
我是新手到脚本。如果脚本中有任何错误,请纠正我。
你主要的问题是'''在'pbsh'结尾处的'''','''awk'中的另一个'''结束了,所以你可能想通过'\'来逃避后者。另一件事是你的'if'语句,除非你检查变量'$ ipaddr'而不是** ipaddr **字符串,否则这将永远不会成立。 – Rogus