scripting issue

Paul Howarth paul at city-fan.org
Wed Aug 9 17:04:28 UTC 2006


Graham Cossey wrote:
> On 8/9/06, Paul Howarth <paul at city-fan.org> wrote:
>> Tom Brown wrote:
>> > 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?
>>
>> Why use three commands when one will do?
> 
> LOL, because this looks damned complicated :
> 
>> ssh $HOST 'awk '\''/^#.*root=/ { dev=$NF; sub("root=", "", dev); print
>> dev }'\'' /boot/grub/grub.conf'

Yes, I added a bit that wasn't in the original, namely the removal of 
the "root=" text. Without that, it's a bit simpler:

ssh $HOST 'awk '\''/^#.*root=/ { print $5 }'\'' /boot/grub/grub.conf'

Paul.




More information about the fedora-list mailing list