テンプレートにファイルを生成するスクリプト

テンプレートにファイルを生成するスクリプト

私は私のプログラムに~/.bashrc1つのコマンドで新しいWebサイト用のフォルダを作成できる関数を作成しました。関数は次のとおりです。

function newsite() {
  mkcd "$*"  # mkdir and cd into it
  mkdir "js"
  mkdir "imgs"
  touch "index.html"
  touch "main.css"
  vim "index.html"
}

今私がしたいのは、index.htmlとmain.cssに触れるのではなく、index.htmlとmain.cssの基本テンプレートファイルを作成したいのですが、問題は何をすべきかわからないということです。そう。私はbashコマンドを使ってファイルを書く方法を知りません。普通はちょうどvimでファイルを開き、ダウンタウンに行きますが、vimに入ったときに何かを始めたらよかったでしょう...

答え1

私はjw013のアイデアが好きです:

mkdir -p ~/site_template/{js,imgs}
# Creates all the files in this directory: index.html, main.css, ...

これで、新しいウェブサイトを作成します。

cp -r ~/site_template ~/my_site

それははるかに簡単です。また、必要に応じてサイトテンプレートファイルを編集できます。

答え2

jw013のアイデアとHaiVuの答えはどちらも正しいです。しかし、この質問に直面し、回答したい人のために完全な状態を維持するために、次のようにします。

function newsite() {
  mkcd "$*"  # mkdir and cd into it
  mkdir "js"
  mkdir "imgs"
  cat > index.html <<'EOI'
<html>
<head>
</head>
<body>
</body>
</html>
EOI
  cat > main.css <<'EOI'
body {
 font-family: Arial;
}
EOI
  vim "index.html"
}

この<<'EOI'ものはトレドック、ほとんどのスクリプト言語にはこれらの機能があります。

関連情報