ip addr add
не может создавать новые устройства (и, вероятно, это не входило в ваши намерения ). Поэтому сначала вам нужно выяснить, к какому существующему устройству вы хотите добавить псевдоним, а затем использовать его имя вместо eth0
.
Bash не вставляет дополнительные кавычки, как это сделали вы здесь:
OPT="-aPh -e ssh --rsync-path='sudo rsync'"
^ ^
Это присвоение устанавливает OPT
в строку -aPh -e ssh --rsync-path='sudo rsync'
. Когда это раскрывается в командной строке rsync
, оно разделяется пробелом на пять различных аргументов :aPh
, -e
,ssh
--rsync-path='sudo
и rsync'
.
То, что вы видите '\''
в выводе bash -x
, является представлением аргументов, содержащих кавычки. Это немного трудно читать, но 'foo'\''bar'
является эквивалентом"foo'bar"
(в одинарных -кавычках, он имеет две строки в одинарных -кавычках и экранированную одинарную кавычку посередине.)
Кавычки не работают после раскрытия переменной, вы не можете сохранить команду с аргументами, содержащими пробелы, в простой переменной, вместо этого вам нужно будет использовать массив.
См.: