Если я назначу переменную в Bash так:
PRIVATE_KEY="$(< ~/.ssh/id_rsa)"
а затем сразу же выгрузите это в файл:
echo $PRIVATE_KEY > tmp.txt
а затем сравните это с оригиналом:
diff ~/.ssh/id_rsa tmp.txt
Я не получаю совпадения, так как все символы возврата каретки (или, возможно, переводы строки) были удалены в исходном назначении переменной. Как мне этого избежать?
Используйте кавычки при выводе переменной в файл:
echo "$PRIVATE_KEY" > tmp.txt
Это сохранит разрывы строк и интервалы.