我已经查看了与此类似的问题的所有答案,但没有发现任何有用的内容 - 当两个命令的语法都需要单引号时,如何在远程 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