当我在终端上运行命令
时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 ''
我该如何解决这个问题?谢谢...
答案 0 :(得分:4)
您需要使用数组而不是字符串。这样,当你“取消引用”时,shell会看到正确数量的单词(2)。
a=( -ignore 'Regex dir3' )
unison dir1 dir2 "${a[@]}" -batch -force dir1 -confirmbigdel=false