web-dev-qa-db-ja.com

rdiff-バックアップがシェルスクリプトから失敗する

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
    '/'
...

しかし、これはまだ拡張の問題だと思うので、おそらくそれは間違っています。私は現在非常に混乱しています、そしていくつかの助けをいただければ幸いです。

4
scry

bash -c "$cmd"の実行を解決しました

1
drAlberT