使用 VIM 在 Shell 腳本中建立新文件

使用 VIM 在 Shell 腳本中建立新文件

我正在編寫一個腳本來自動執行幾個步驟,並且需要使用預先定義的位置和文字建立新的設定檔。

我可以建立文件,但是我不知道如何使用 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.confcat

如果您在此處文件中有 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這將創建您的文件並用必要的內容填充它。

相關內容