Bash 見積もりの​​拡張

Bash 見積もりの​​拡張

bash次のスタイルでスクリプトからコマンドを実行したいと思います。

rdiff-backup --verbosity 5 -somearguments -somemorearguments \
    --remote-schema 'ssh -i $keyfile -C %s' \
    sourcedir backup::/targetdir

--remote-schema主張に関して質問が発生します。しなければならないSSHキー変数(この場合は$keyfile

生成されたコマンドを$rdiffcmd。すべてがうまくいくように見えるコマンドを書くのに問題はありません。 Anはecho $rdiffcmd周囲に必要な引用符を表示します--remote-schema。ただし、rdiff-backup(ローカル側では)理解できないメッセージを常に受け​​取るため、見えない拡張機能が必要です-i。だから引用符を使用しません。

リモートパターンをグループ化して1つのパラメータのように見えるようにするにはどうすればよいですか?

echo $rdiffcmd奇妙な点:出力を端末に貼り付けてコピーすると機能します。しかし、$rdiffcmd私のスクリプトに示されているように、上記の問題はありません。

ベストアンサー1

$keyfileスペースなどが含まれている場合:

rdiff-backup --verbosity 5 -somearguments -somemorearguments \
    --remote-schema 'ssh -i "'"$keyfile"'" -C %s' \
    sourcedir backup::/targetdir

おすすめ記事