我正在尝试从 ruby 脚本进行单行 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,但它甚至只使用双引号。