
我正在編寫一個腳本來自動執行幾個步驟,並且需要使用預先定義的位置和文字建立新的設定檔。
我可以建立文件,但是我不知道如何使用 VIM 自動輸入文字並儲存文件。
例子:
/etc/httpd/conf.d/cgi-enabled.conf
使用以下文字建立設定檔
<Directory "/var/www/html/cgi-enabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
並保存它,這將允許我繼續處理下一個配置文件。有什麼建議 ?
答案1
無需啟動vim
,只需使用此處文件:
cat >/etc/httpd/conf.d/cgi-enabled.conf <<END_CONF
<Directory "/var/www/html/cgi-enabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
END_CONF
<<END_CONF
和最後一個分隔符號之間的文字將透過重定向END_CONF
保存到。分隔符號的選擇是任意的,但通常使用大寫單字。/etc/httpd/conf.d/cgi-enabled.conf
cat
如果您在此處文件中有 shell 變數(或看起來像 shell 變數的東西)並且您不想要將它們替換為它們的值,您應該單引號第一個END_CONF
:
cat >/etc/httpd/conf.d/cgi-enabled.conf <<'END_CONF'
<Directory "/var/www/html/cgi-enabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
<!-- $HOME will not be expanded here -->
END_CONF
答案2
如果這是來自 shell 腳本,我建議完全放棄 vim,而使用 echo,即echo "sample text" > file.cfg
這將創建您的文件並用必要的內容填充它。