我正在以 sudo 用户身份编写一个脚本,该脚本会向我发送服务器的 CPU 使用情况,并通过电子邮件向我发送另一个脚本的结果,
sudo sh -c '{
x=`ps aux | sort -nrk 3,3 | tr -s " " | cut -d" " -f 3,11- |awk '\'BEGIN { OFS = " " } { $1 = $1"%"; print }'\'`
/opt/fetch_script.sh $x
}| mailx [email protected]'
但它仍然给我 AWK 使用的错误原因:
awk: 0: unexpected character '\'
aux: -c: line 1: syntax error: unexpected end of file
请问有什么帮助吗?
答案1
问题可能是您尝试嵌套引号,但是您没有使用ps
命令的输出格式选项,这让事情变得过于复杂。更简单的版本(具有一致的引号)可能是
sh -c '/opt/fetch_script.sh "$(ps axo pcpu= o comm= | awk '\''{$1=$1"%"; print}'\'')"'