Printf 追加失败

Printf 追加失败

我尝试在 CentOS (12.x) 中运行以下类似的命令:

printf "\nhello" "$HOME"/.bashrc
printf "\nhello" ${HOME}/.bashrc

执行后,我显示文件的内容.bashrc,但没有看到任何新内容。

set -x两者都带来空行输出,因此我的命令可能是错误的。

我在语法上也有类似的问题echo(编辑:我可能记错了,但我记得我可以使用echo不带附加运算符的内容来附加内容,例如>>)。

你看错了什么?

答案1

如果您尝试将输出重定向到.bashrc文件,则需要重定向运算符>(将覆盖文件),或者在您的情况下>>(将追加文件)可能更合适。

printf '\n%s\n' "hello" >> "${HOME}/.bashrc"

Kusalananda 指出,在文件末尾添加尾随换行符通常是一个好主意。某些工具期望文件以换行符结尾,如果换行符不存在,则可能会出现意外行为。

相关内容