Rdiff-backupを使用して、バックアップ用のシェル(sh)スクリプトを実行しようとしています。関心のある行は次のとおりです。
cmd="${prog} -v5 --print-statistics --include-globbing-filelist ${inclist} \
--exclude ** ${src} ${dest}"
echo "${cmd}"
$cmd
それは私に正しいコマンドをエコーしますが、コマンド自体を窒息させます:
rdiff-backup -v5 --print-statistics --include-globbing-filelist /etc/backup/include-list --exclude ** / /backup/all
Using rdiff-backup version 1.2.8
Fatal Error: Switches missing or wrong number of arguments
See the rdiff-backup manual page for more information.
コマンドを直接実行すると機能します('**'
の代わりに**
を使用)。コマンド文字列で'**'
を使用しようとしましたが、展開が間違っており、次のようなエラーが発生することに注意してください。
Fatal Error: Fatal Error: The file specification
''**'
cannot match any files in the base directory
'/'
...
しかし、これはまだ拡張の問題だと思うので、おそらくそれは間違っています。私は現在非常に混乱しています、そしていくつかの助けをいただければ幸いです。
bash -c "$cmd"
の実行を解決しました