运行远程 ssh 时使用单引号

运行远程 ssh 时使用单引号

我已经查看了与此类似的问题的所有答案,但没有发现任何有用的内容 - 当两个命令的语法都需要单引号时,如何在远程 SSH 命令中使用多个单引号工作正常吗?

比如这样:

for host in $(<input_list.txt)
 do
  ssh $host 'echo $(hostname -s):$(ls -l /etc/rc.local | awk '{print $1,$6}')'
 done

我尝试过使用“set -x”,但输出几乎毫无用处,并且尝试了单引号和双引号的多种组合,但没有成功。我不敢相信这是不可能做到的。

答案1

尝试这个 :)

for host in $(<input_list.txt); do
    ssh $host <<'EOF'
echo $(hostname -s):$(ls -l /etc/rc.local | awk '{print $1,$6}')
EOF
done

相关内容