VIMを使用してシェルスクリプトから新しいファイルを作成する

VIMを使用してシェルスクリプトから新しいファイルを作成する

いくつかの手順を自動化するスクリプトを作成しており、事前定義された場所とテキストを含む新しい構成ファイルを作成する必要があります。

ファイルを作成できますが、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

ここにドキュメントにシェル変数(またはシェル変数のように見えるもの)がある場合いいえその値に置き換えるには、最初の値を一重引用符で囲む必要があります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

これがシェルスクリプトから来る場合は、vimを完全に捨ててechoを使用することをお勧めします。つまり、echo "sample text" > file.cfgこれによりファイルが作成され、必要な内容で埋められます。

関連情報