Попробуйте это:
dialog --keep-window --begin 0 0 --tailboxbg /var/log/process1.log 20 110 \
--and-widget --keep-window --begin 0 120 --tailboxbg /var/log/process2.log 20 110 \
--and-widget --begin 21 100 --msgbox "Press Enter to exit." 5 25
Отрегулируйте числа, чтобы соответствовать вашим потребностям. Я должен был использовать Msgbox
, чтобы сохранить диалог
.
Следуя совету Кайла Джонса использовать доступные опции rsync для выполнения работы (вместо того, чтобы кодировать одну), я нашел
rsync --include-from=file_to_exclude --recursive \
--delete-excluded \
/var/somedir/ /var/somedir/
, чтобы работать просто отлично.
Я также пытался использовать --игнор-существующий --игнор-несуществующий --делете
по нескольким сценариям, но результат был таким же, как и без этих 3-х опций.
Не делай этого. Это очень плохая идея - пытаться воспроизвести то, что делают шаблоны включения / исключения rsync, без использования rsync. Тот факт, что некоторые из шаблонов могут быть сложными, является еще большей причиной не пытаться это сделать. Используйте сам rsync, чтобы гарантировать последовательное поведение и минимизировать неожиданности.
На странице руководства rsync:
- existing, --ignore-non-existing
Это указывает rsync пропустить создание файлов (включая каталоги) которые еще не существуют в пункте назначения. Если эта опция в сочетании с параметром --ignore-existing файлы не будут обновлено (что может быть полезно, если все, что вы хотите сделать, это удалить посторонние файлы).
Таким образом, вы должны запустить с --delete --delete-excluded --ignore-existing --ignore-non-existing, и rsync удалит посторонние файлы, а не обновит и не удалит какие-либо другие файлы.