--qf
플래그를 사용하여 rpm 데이터베이스를 쿼리하고 있습니다.
rpm -q --qf '<prm><N>%{N}</N></rpm>' --all
이것은 로컬에서 잘 작동하며 지금 ssh
시도 하면
ssh -l root ${host} rpm -q --qf '<prm><N>%{N}</N></rpm>' --all
알겠어요
bash: -c: line 0: syntax error near unexpected token '<'
bash: -c: line 0: `rpm -q --qf <prm><N>%{N}</N></rpm> --all'
알아채다
- 두 번째 줄에는 백틱과 프론트틱이 있습니다.
- 큰따옴표를 사용하면 동일한 오류가 발생합니다.
- 실제 사용
%{N}
,,%{V}
...%{INSTALLTIME:date}
나는 분명한 것을 놓치고 있습니다. 그러나 무엇입니까?
답변1
추가 참조 레벨을 추가해야 합니다.
ssh -l root ${host} "rpm -q --qf '<prm><N>%{N}</N></rpm>' --all"
추가 큰따옴표가 없으면 원격 셸에 대한 명령은 다음과 같습니다.
rpm -q --qf <prm><N>%{N}</N></rpm> --all
그리고 쉘에 대한 설명 <
등이 있습니다.
오류 메시지의 백틱과 작은 따옴표는 명령을 인용하는 데 사용되는 실제 따옴표입니다. 이는 쉘에 주어진 명령의 일부가 아닙니다.