Bash

在模板中創建文件的腳本

  • January 13, 2019

我剛剛在我的文件中編寫了一個函式,~/.bashrc它可以讓我用一個命令為新網站創建一個文件夾。該函式如下所示:

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 時已經開始做一些事情……

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'東西叫做heredoc,大多數腳本語言都有它們。

我喜歡jw013的想法:

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

現在,是時候創建一個新站點了:

cp -r ~/site_template ~/my_site

那會容易得多。此外,您可以以任何您喜歡的方式編輯您的網站模板文件。

引用自:https://unix.stackexchange.com/questions/31343