小编use*_*225的帖子

如何通过 SSH 传递复杂的 shell 命令以远程执行?我的抛出语法错误或在本地被解释!

我有一个这样的命令,它告诉我系统的磁盘是否已满(>=70% 已满):

if [[ -n df -PTh|column -t|awk '{print $6 $7}'|awk -F"%" '{printf "%-9s %-5s\n",$1,$2}'|grep -v -e "Use" -e "Mounted"|awk '$1>70{printf "%-9s %-5s\n",$1,$2}' ]]; then echo "not present"; else echo ">70 is present"; fi
Run Code Online (Sandbox Code Playgroud)

我想使用 SSH 在远程服务器上执行上述命令。就像是:

ssh remoteserver "if [[ -n df -PTh|column -t|awk '{print $6 $7}'|awk -F"%" '{printf "%-9s %-5s\n",$1,$2}'|grep -v -e "Use" -e "Mounted"|awk '$1>70{printf "%-9s %-5s\n",$1,$2}' ]]; then echo "not present"; else echo ">70 is present"; fi"
Run Code Online (Sandbox Code Playgroud)

但是当我尝试这样做时,出现以下错误:

HOST: remoteserver bash: -c: line 0: syntax error …
Run Code Online (Sandbox Code Playgroud)

ssh command-line bash scripts

4
推荐指数
1
解决办法
3907
查看次数

标签 统计

bash ×1

command-line ×1

scripts ×1

ssh ×1