Nano - 插入内容,保存并退出

Mar*_*per 3 nano

我目前正在为我的正常使用制作一个设置我的服务器的整个过程的文本文件。

并想知道是否有任何方法可以编写 shell 脚本,以便我可以制作“nano”插入内容,保存,退出,然后继续执行其余的命令。

因为当我将所有这些都放入 shell 脚本时:

sudo nano /etc/apache2/conf-available/fqdn.conf
ServerName localhost
sudo a2enconf fqdn
Run Code Online (Sandbox Code Playgroud)

然后它显示具有以下内容的“纳米”文件编辑器:

ServerName localhost
sudo a2enconf fqdn
Run Code Online (Sandbox Code Playgroud)

好吧,虽然我希望它在 之后保存并退出ServerName localhost,以便我的脚本可以继续。

无论如何这可能吗?

Joh*_*ith 6

我可能误解了你的问题。SHH不存在,你是说SH还是SSH?或者也许是 Bash?(编辑:进行了编辑以解决此问题)

无论如何,nano在这里不会有太大帮助。echo将要。

echo "ServerName localhost" > /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
Run Code Online (Sandbox Code Playgroud)

上面的 shell 代码会将您的文本发送到文件中。如果这是您要查找的内容,则替换>>>会附加它。

如果您需要 root 权限来写入此文件,请使用tee而不是简单的 shell 重定向 ( >/ >>)。这将使您能够sudo正确使用:

echo -e "ServerName localhost" | sudo tee -a /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
Run Code Online (Sandbox Code Playgroud)

nano在这里,您,用户,可以手动将数据写入文件。但是,如果您正在寻找自动化流程,则不需要编辑器,coreutils 可以很好地处理它。Linux 不需要花哨的nano界面来写入文件。

  • @JohnWHSmith +1 几乎具有千里眼的能力。 (2认同)