Назад | Перейти на главную страницу

Потеря возврата каретки при присваивании переменной

Если я назначу переменную в Bash так:

PRIVATE_KEY="$(< ~/.ssh/id_rsa)"

а затем сразу же выгрузите это в файл:

echo $PRIVATE_KEY > tmp.txt

а затем сравните это с оригиналом:

diff ~/.ssh/id_rsa tmp.txt

Я не получаю совпадения, так как все символы возврата каретки (или, возможно, переводы строки) были удалены в исходном назначении переменной. Как мне этого избежать?

Используйте кавычки при выводе переменной в файл:

echo "$PRIVATE_KEY" > tmp.txt

Это сохранит разрывы строк и интервалы.