On Thu, Mar 17, 2011 at 9:31 AM, Nico Kadel-Garcia nkadel@gmail.com wrote:
On Thu, Mar 17, 2011 at 6:58 AM, John Doe jdmls@yahoo.com wrote:
From: sync jiannma@gmail.com
There is a problem on executing awk command to remote servers; 1. #!/bin/sh 2. 3. _CMD="ssh root@localhost" 4. 5. cpu_num="$($_CMD awk '/processor/{count["proc"]++}; END{print count["proc"]}' /proc/cpuinfo)“ 6. 7. echo $cpu_num
Quote the whole command and backslash the command quotes... ssh root@localhost "awk '/processor/{count["proc"]++}; END{print count["proc"] } ' /proc/cpuinfo"
JD
Or do the processing locally and stay away from proc nuttiness, without mucking with ssh and awk.
grep ^processor /proc/cpuinfo | wc -l
Or:
ssh -l $TARGETUSER $TARGETHOST "[ -e /proc/cpuinfo ] -a grep ^processor | wc -l"
Ooops! I meant
ssh -l $TARGETUSER $TARGETHOST "[ -e /proc/cpuinfo ] -a grep ^processor /proc/cpuinfo | wc -l"
The check fo rprocinfo is in case /proc isn't mounted.