Bash
Printf 追加失敗
我嘗試在 CentOS (12.x) 中執行以下類似命令:
printf "\nhello" "$HOME"/.bashrc printf "\nhello" ${HOME}/.bashrc
執行後,我顯示
.bashrc
文件的內容,並沒有看到任何新內容。
set -x
為兩者都帶來了空行輸出,因此我的命令可能是錯誤的。我在語法上遇到了類似的問題
echo
(編輯:我可能記錯了,但我記得我可以在echo
沒有像 >> 這樣的附加運算符的情況下附加內容)。你看錯什麼了?
如果您嘗試將輸出重定向到您的
.bashrc
文件,您需要一個重定向運算符>
(將覆蓋文件)或在您的情況下>>
(將附加文件)可能更合適。printf '\n%s\n' "hello" >> "${HOME}/.bashrc"
Kusalananda 指出在文件末尾放置一個尾隨換行符通常是個好主意。一些工具期望文件以換行符結尾,如果它不存在,可能會出現意外行為。