相关疑难解决方法(0)

运行通过ssh嵌套引号的shell命令

我有以下shell命令:

ssh user@host "df | grep /dev/ | \
awk 'BEGIN{print "DISK", "%USAGE", "STATUS"} {split($5, a, "%"); \
var="GREEN"; print $1, $5, var}' | column -t"
Run Code Online (Sandbox Code Playgroud)

我需要在ssh上运行它,但由于嵌套的双引号和单引号的存在,我得到语法错误.

我在引号的开头和结尾之前尝试了转义符,但它没有解决问题.

但是,在运行本地系统时,将提供以下输出:

$ df | grep /dev/ | \
awk 'BEGIN{print "DISK", "%USAGE", "STATUS"} {split($5, a, "%"); \
var="GREEN"; print $1, $5, var}' | column -t
DISK       %USAGE  STATUS
/dev/sda1  95%     GREEN
Run Code Online (Sandbox Code Playgroud)

bash shell quoting

3
推荐指数
1
解决办法
1514
查看次数

标签 统计

bash ×1

quoting ×1

shell ×1