我正在编写一个 shell 脚本,它将使用 Ubuntu 14.04 中的 PAM 文件完全更改密码策略。我这样做的方式是
sudo sh -c 'echo "I want to change this text" >/etc/pam.d/example.txt'
我遇到的问题是我无法创建新行。我研究过这个,有人说 HTML 标签 <br>
有效,但我已经尝试过
sudo sh -c 'echo "I want to change this text. <br> This should be a new line." >/etc/pam.d/example.txt
(和)
sudo sh -c 'echo "I want to change this text. <br /> This should be a new line." >/etc/pam.d/example.txt'
但它只打印 <br>
和<br />
文本文件上的标签。我该如何解决这个问题?
最佳答案
基本上,您应该停止使用 echo
来编写您正在编写的任何新内容。
虽然 POSIX 描述了 echo
的行为,但实际上它并不像应有的那样可移植。 echo 的 POSIX 文档甚至建议“鼓励新应用程序使用 printf 而不是 echo。”
您还可以找到对此 here on the S.E. network 的引用。和the bash hackers' wiki touches on this too 。 one of the bash pitfalls 中提到了它.
sudo sh -c 'printf "First line.\nSecond line.\n" >/etc/pam.d/example.txt'
关于通过替换 PAM 文件中的文本来更改密码策略的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41838970/