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

它说

一致:未知选项`-ignore 'Regex c''

我该如何解决这个问题?谢谢... 。

4

1 回答 1

4

您需要使用数组而不是字符串。这样,当您“取消引用”时,shell 将看到正确数量的单词 (2)。

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