我目前正在制作一个文本文件,记录设置服务器以供我正常使用的整个过程。
并且想知道是否有任何方法可以编写 shell 脚本,以便我可以让“nano”插入内容、保存它、退出它,然后继续执行其余命令。
因为当我把所有这些放入 shell 脚本中时:
sudo nano /etc/apache2/conf-available/fqdn.conf
ServerName localhost
sudo a2enconf fqdn
然后它显示“nano”文件编辑器,内容如下:
ServerName localhost
sudo a2enconf fqdn
好吧,虽然我希望它在之后保存并退出ServerName localhost
,以便我的脚本可以继续。
无论如何这可能吗?
答案1
我可能误解了你的问题。嘘嘘不存在,您是指 SH 还是 SSH?或者是 Bash?(编辑:进行了编辑以修复此问题)
无论如何,nano
这里不会有太多的帮助。echo
会的。
echo "ServerName localhost" > /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
上述 shell 代码会将您的文本发送到文件中。如果这是您要查找的内容,则替换>
为会将其附加到文件中。>>
如果您需要 root 权限才能写入此文件,请使用tee
而不是简单的 shell 重定向 ( >
/ )。这将允许您正确>>
使用:sudo
echo -e "ServerName localhost" | sudo tee -a /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
nano
是为了让用户能够手动将数据写入文件。但是,如果您正在寻找一个自动化流程,则不需要编辑器,coreutils 可以很好地处理。Linux 不需要花哨的界面nano
来写入文件。