On Thu, Mar 17, 2011 at 9:31 AM, Nico Kadel-Garcia <nkadel at gmail.com> wrote: > 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" 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.