Простой Ruby one liner для обслуживания каталога:
ruby -run -e httpd . -p 8080
Раскрытие скобок не происходит при цитировании. Вы также должны хранить аргументы в массиве, а не в переменной (, когда это возможно ).
Думаю, вам должно подойти следующее:
excludes=( $(--exclude={foo,bar,baz}) )
rsync "${excludes[@]}"
From the bash debugger,... any string containing =, {, or } will get wrapped in single quotes when expanded.
Если вы имеете в виду вывод xtrace
(set -x
), он действительно предпочитает отображать аргументы в одинарных кавычках, когда они содержат специальные символы. Выходные данные имеют формат, который можно использовать в качестве входных данных для оболочки.
Однако это не означает, что кавычки являются частью строки.
Сравните:
$ echo abc def\ ghi
+ echo abc 'def ghi'
abc def ghi
$ echo abc \'def\ ghi\'
+ echo abc ''\''def ghi'\'''
abc 'def ghi'
Хотя, насколько я понимаю, он не удосуживается заключать в кавычки строки, содержащие знак равенства.