--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'
気づく
- 2行目にはバックティックとフロントティックがあります。
- 二重引用符を使用すると、同じエラーが発生します。
- 実際の使用
%{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
そしてシェルの説明<
などがあります。
エラーメッセージのバックティックと一重引用符は、コマンドを引用するために使用される実際の引用符です。これはシェルに与えられたコマンドの一部ではありません。