Hi there
If i run this command on my Linux box directly, i get the desired result
[server1] # ipmitool fru | gawk '!NF{f=0}/mb.net0.fru/{f=1}/Product Serial/&&f{print $NF}'
00:AA:4F:A6:A6:C4
however, if i try to run it from a remote server (using SSH) and populating a variable with the result, then i get an error f{print command not found ..note, i had to escape the bang otherwise bash would not even accept the command ..not sure if this is part of my problem, see below, as you can see, it matches multiple instances of "Product Serial". I guess this is down to the the print part of the command not working?
[server6] # REMOTE_MAC=`ssh server1 'ipmitool fru | gawk '\!NF{f=0}/mb.net0.fru/{f=1}/Product.Serial/&&f{print $NF}''`
bash: f{print: command not found
#
# echo $REMOTE_MAC
Product Serial : 00:AA:4F:AF:2C:45 Product Serial : 0806AL91AE Product Serial : 1506341E Product Serial : 1506251C Product Serial : 15064C21 Product Serial : 15062F16 Product Serial : 15063610 Product Serial : 1506251F Product Serial : 1506561B Product Serial : 15065618 Product Serial : 00:AA:4F:A6:A6:C4 Product Serial : 00:AA:4F:A6:A6:C6
#
now, i thought id try just running it remotely rather than trying to populate a variable, so i tried just ssh'ing the command... still problems
[server6] # ssh server1 'ipmitool fru | gawk '\!NF{f=0}/mb.net0.fru/{f=1}/Product.Serial/&&f{print $NF}''
Product Serial : 00:AA:4F:AF:2C:45
Product Serial : 0806AL91AE
Product Serial : 1506341E
Product Serial : 1506251C
Product Serial : 15064C21
Product Serial : 15062F16
Product Serial : 15063610
Product Serial : 1506251F
Product Serial : 1506561B
Product Serial : 15065618
Product Serial : 00:AA:4F:A6:A6:C4
Product Serial : 00:AA:4F:A6:A6:C6
bash: f{print: command not found
#
From what i can see, the f{print error, seems to be causing my problems
Does anybody have any idea what i could be doing wrong here, it seems i have tried a huge amount of different variations without any success
any guidance would be fantastic