1

こんにちは、そのような端末でコマンドを実行すると

unison dir1 dir2 -ignore 'Regex dir3' -batch -force dir1 -confirmbigdel=false

それは正常に実行されます。しかし、bashスクリプトで実行しようとすると、そのようになります

a="-ignore 'Regex dir3'"
unison dir1 dir2 "$a" -batch -force dir1 -confirmbigdel=false

それは言う

unison: 不明なオプション `-ignore 'Regex c''

どうすればその問題を解決できますか? ありがとうございました... 。

4

1 に答える 1

4

文字列の代わりに配列を使用する必要があります。そうすれば、「逆参照」すると、シェルは正しい数の単語 (2) を認識します。

a=( -ignore 'Regex dir3' )
unison dir1 dir2 "${a[@]}" -batch -force dir1 -confirmbigdel=false
于 2011-06-30T11:08:06.953 に答える