#!/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