scripting issue

Steven W. Orr steveo at syslang.net
Wed Aug 9 15:24:14 UTC 2006


On Wednesday, Aug 9th 2006 at 16:02 +0100, quoth Tom Brown:

=>Hi
=>
=>If i am locally on a box the following works fine
=>
=>ROOTDEV=`cat /boot/grub/grub.conf | grep "^\#.*root\=" | awk '{print $5}'`
=>
=>but if i put this into a script to run from another host it fails eg
=>
=>ssh $HOST 'ROOTDEV=`cat /boot/grub/grub.conf | grep "^\#.*root\=" | awk
=>'{print $5}'`'
=>awk: cmd. line:1: {print
=>awk: cmd. line:1:       ^ unexpected newline or end of string
=>
=>seems the space in the print $5 upsets things - anyone know how to escape this
=>space out so it will work?
=>
=>thanks

ROOTDEV=$(ssh $HOST awk < /boot/grub/grub.conf '/^#.*root=/ {print $5}')

You had embedded single quotes. Also, you didn't need cat or grep. Also, 
the = sign and the # don't need to be backquoted. Also, the output of awk 
being assigned to ROOTDEV was simply being dropped.

-- 
Time flies like the wind. Fruit flies like a banana. Stranger things have  .0.
happened but none stranger than this. Does your driver's license say Organ ..0
Donor?Black holes are where God divided by zero. Listen to me! We are all- 000
individuals! What if this weren't a hypothetical question?
steveo at syslang.net




More information about the fedora-list mailing list