이와 유사한 질문에 대한 모든 답변을 살펴봤지만 유용한 것을 찾지 못했습니다. 두 명령의 구문에 작은따옴표가 필요한 경우 원격 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