如果你發現自己每天在終端中創建相似的文本,為什么不通過創建一個.txt模板腳本來簡化此過程并節省時間呢?聽起來是不是很有趣,那就啟動一個終端,選擇自己喜歡的文本編輯器,然后開始吧!
創建一個新的模板腳本
無論您喜歡哪種方式,創建一個新的bash腳本。我們正在終端中使用nano編輯器在主目錄中的“linuxidc”文件夾中創建一個名為“ linuxidc.com.sh”的文件:
定義參數
在您喜歡的編輯器中打開文件。在最頂部,輸入將其定義為bash腳本的典型介紹:
#!/bin/sh
為了使內容整潔清晰,請輸入注釋行,并在其后加上標題。
“后續操作”部分是我們要在模板中定義的一堆參數。模板腳本完成后,我們將能夠向其提供這些參數以將其注入到文本中。
我們在注釋行中輸入“Linux公社”作為標題,如下所示:
#Linux公社
接下來,我們通過將它們映射到三個編號的變量來定義三個參數“ SITE”,“ AUTHOR”和“ CONTACT”:
SITE=$1
AUTHOR=$2
CONTACT=$3

您可以用相同的方式定義不同的(或更多的)參數。
創建您的模板
有了我們的模板參數之后,就該創建文本模板了。
和以前一樣,我們以注釋掉的行作為標題,如下所示:
#模板
這是我們要添加到模板中的內容:
- 我們將模板“夾在”兩行之間。
- 第一行讀取cat << EOF,并基本上聲明了“接下來的所有內容(即:我們的實際模板),直到EOF出現之前,都應該被視為單個輸入。”
- 第二行是EOF,在本例中是“codeword”,在這種情況下,它會中斷cat命令循環并結束模板。
cat << EOF
$SITE歡迎您使用Bash生成的TEXT模板
作者 $AUTHOR.
與我聯系 $CONTACT.
EOF

不過,一個更有用的模板可能會以電子郵件的形式出現。您可以定義“$NAME”和“$TASK”參數,然后為電子郵件創建一個模板,比如:
cat << EOF
您好 $NAME,
我只是想給你回個電話 $TASK.
你能告訴我有什么變化嗎?
最好的問候,
我的名字
EOF
完成后,保存您的編輯(Ctrl+ O)并退出(Ctrl+ X)該程序。
接下來,使用以下命令使腳本可執行:
chmod u+x linuxidc.com.sh

這樣,您將能夠使用腳本本身的名稱來創建新文檔。
測試運行
使用定義的參數運行腳本。我們的測試運行如下所示:
./linuxidc.com.sh Linux公社 linuxidc linuxidc@linuxidc.com
Bash 文本模板測試運行
第一部分是腳本的名稱,第一個參數“ Linux公社”,第二個參數“ linuxidc”,第三個參數“ linuxidc@linuxidc.com”。

請注意,我們可以使用下劃線(_)將“Linux公社”一詞組合在一起(比如:Linux_公社)。如果要使用空格,請添加引號(例如“ Linux 公社”)。
建立文件
準備好腳本后,由于重定向功能強大,您可以將其用作創建新文檔的模板。
為此,請像在測試運行中一樣,像以前一樣運行它,但是在定義了參數之后,輸入> path/to/file/linuxidc.com.txt。在我們的例子中,我們的命令如下所示:
./linuxidc.com.sh Linux公社 linuxidc linuxidc@linuxidc.com > linuxidc.com.txt
這樣,您可以指示模板將其結果輸出到定義的文件而不是終端。至于實際結果,可以見下圖。

看起來并不容易!
雖然看起來很復雜,但如果你按照上面的說明去做,其實很簡單。如果您經常需要從相同的模板創建文本,那么它將非常有用。例如,您可以自動創建常規電子郵件、產品信息頁面等,其中相同的單詞或短語可能在同一文本中多次出現。
或者,您可以使用相同的方法來創建代碼生成模板,例如,可以幫助您使用單個命令來設置包含整個網站結構的HTML文件或運行bash。啟動過程中以root用戶身份運行腳本。
站長資訊網