On Thu, Mar 17, 2011 at 6:58 AM, John Doe <jdmls at yahoo.com> wrote: > From: sync <jiannma at gmail.com> >>There is a problem on executing awk command to remote servers; >> 1. #!/bin/sh >> 2. >> 3. _CMD="ssh root at 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 at 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"