Как избежать одинарных кавычек в параметре out-format rsync в bash?

Я использую bash версии 3.0.9 под Centos 7, и я просто не могу найти комбинацию экранирования, которая позволила бы мне передать одинарные кавычки в выход - параметр формата. Я пробовал каждую комбинацию, которую я придумал, чтобы заключить параметры в одинарные или двойные кавычки, избегая одиночных с помощью обратной косой черты, объединяя строки, передавая их как переменные, ничего не работает. По-видимому, приведенная ниже команда должна работать, чтобы дать мне удобочитаемые размеры файлов, но я получаю только одинарные кавычки, которые вы видите в выводе:

$ rsync -crthivn --out-format="%n %''l" /from_folder /to_folder
sending incremental file list
test/ %''l
test/file1 %''l
test/folders_current %''l
test/test2/ %''l
test/test2/file2 %''l

sent 191 bytes  received 29 bytes  440.00 bytes/sec

Я думал, что экранирование bash будет корнем проблемы, но я получаю те же результаты, когда пытаюсь использовать sh и csh. Так что я сейчас очень запутался! Любая помощь приветствуется.

1
задан 5 July 2017 в 12:17
1 ответ

Чтобы продолжить, это похоже на ошибку в 3.0.9 - я обнаружил, что проблема исчезает после обновления до rsync 3.1.2 (что вам нужно сделать вручную потому что вы можете получить только до 3.0.9 из официальных репозиториев Centos).

Я выполнил следующие инструкции, чтобы узнать, как это сделать:

https://stackoverflow.com/questions/36407399/why-the-latest-vesion-of-rsync-could-not-be-installed- on-centos-7-2

1
ответ дан 3 December 2019 в 23:28

Теги

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