同様の質問に対するすべての答えを見ましたが、役に立つものが見つかりませんでした。両方のコマンドの構文に一重引用符が必要な場合は、リモート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