私はrubyスクリプトから1行のssh呼び出しを行おうとしています。私のスクリプトはホスト名を取得し、ホスト名のマシン情報を返すように設定します。
return_value = %x{ ssh #{hostname} "#{number_of_users}; #{number_of_processes};
#{number_of_processes_running}; #{number_of_processes_sleeping}; "}
変数がこのようにフォーマットされている場合。
number_of_users = %Q(users | wc -w | cat | awk '{print "Number of Users: "\$1}')
number_of_processes = %Q(ps -el | awk '{print $2}' | wc -l | awk '{print "Number of Processes: "$1}')
%q、%Q、および単純な ""の両方を試しましたが、出力の前にawkに何も出力させることができません。このエラーが発生します(コロンを含める場合)
awk: line 1: syntax error at or near :
または、$ 1の前にスラッシュを含めないと、その行の出力が空になります。これに対する解決策はありますか?%qを使用していたためかもしれないと思いましたが、二重引用符だけでも発生します。