Ошибка bash в eval, содержащем пробел

Для простого копирования достаточно использовать rsync для копирования на ваш резервный носитель, как упоминалось в комментариях. Если вам нужны версионные резервные копии и более простое управление, то rsnapshot - это хороший выбор.

Однако для системного раздела часто существует более простой вариант. Так как большая часть данных поступает из репозиториев вашего дистрибутива без изменений, то обычно с ними можно справиться простым резервным копированием /etc, /var и списком установленных пакетов (который, вероятно, находится в /var).

Обратите внимание, что ничто из этого не будет резервным копированием MBR, но в системе Linux повреждение MBR обычно происходит из-за выхода из строя жесткого диска.

.

1
21.08.2018, 06:15
1 ответ

Если вы поместите назначения перед скриптом

ip='164.130.21.98' hostname='whatever' pwd='/test' ftpcmd='CWD debug' user='stefano' ./test.sh 

то переменные будут доступны в окружении скрипта. Опция -k рассматривает все присваивания, а не только присваивания перед командой, как модификации окружения.

set -k
./test.sh ip='164.130.21.98' hostname='whatever' pwd='/test' ftpcmd='CWD debug' user='stefano'
set +k

В любом случае, eval не требуется вообще и может быть удален.

2
27.01.2020, 23:36

Теги

Похожие вопросы