Моделирование READLINE_LINE в Bash <4.0

Я использую rsync для резервного копирования файлов. В /etc/cron.daily поместите сценарий как:

EXCLUDES=/etc/rsync/excludes.txt
TARGETDIR=root@::backup-target
BACKUPDIR=/`date +%Y%m%d-%H%M%S`
export RSYNC_PASSWORD="veryverysecret"

rsync --force --ignore-errors --delete-excluded --exclude-from=${EXCLUDES} --delete --backup --backup-dir=${BACKUPDIR} -a -H -X -A / ${TARGETDIR}/current

Конечно, необходимо настроить host-where-to-store-backup. Взгляните в rsyncd.conf страница справочника.

3
13.04.2017, 15:36
1 ответ

Я думаю, что у Вас есть фундаментальное неправильное представление разделения труда между терминалом и оболочкой. Невыполняемая команда находится в памяти удара, это не находится в терминале. Как только Вы вводите клавишу символа или функциональную клавишу, эта информация отправляется в удар, и это - удар, который справляется с командами выпуска, который обновляет дисплей, который обеспечивает завершение и так далее. readline библиотека является частью удара. Для получения дополнительной информации считайте то, Что точное различие между 'терминалом', 'оболочкой', 'tty' и 'консолью'?

Результат - то, что код, который Вы хотите написать для управления командой, должен находиться в ударе: это должно пойти beween одна часть удара и другая часть удара.

Можно поместить промежуточную программу между терминалом и ударом, но если Вы сделаете это, то Вы потеряете преимущество завершения и другие тонкости.

READLINE_LINE переменная была представлена в ударе 4, потому что нет никакого способа сделать то же самое под ударом 3. Если то, что Вы делаете, требует его, Ваш лучший выбор состоит в том, чтобы переключиться для избиения 4 или zsh.

2
27.01.2020, 21:28

Теги

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