원격 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

관련 정보