变量赋值时丢失回车符

变量赋值时丢失回车符

如果我在 Bash 中像这样分配一个变量:

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

然后立即将其转储到文件中:

echo $PRIVATE_KEY > tmp.txt

然后将其与原文进行比较:

diff ~/.ssh/id_rsa tmp.txt

我没有得到匹配结果,因为原始变量赋值中的所有回车符(或者可能是换行符)都被删除了。我该如何避免这种情况?

答案1

将变量回显到文件时使用引号:

echo "$PRIVATE_KEY" > tmp.txt

这将保留换行符和间距。

相关内容