如果你發(fā)現(xiàn)自己每天在終端中創(chuàng)建相似的文本,為什么不通過創(chuàng)建一個.txt模板腳本來簡化此過程并節(jié)省時間呢?聽起來是不是很有趣,那就啟動一個終端,選擇自己喜歡的文本編輯器,然后開始吧!
創(chuàng)建一個新的模板腳本
無論您喜歡哪種方式,創(chuàng)建一個新的bash腳本。我們正在終端中使用nano編輯器在主目錄中的“linuxidc”文件夾中創(chuàng)建一個名為“ linuxidc.com.sh”的文件:
定義參數(shù)
在您喜歡的編輯器中打開文件。在最頂部,輸入將其定義為bash腳本的典型介紹:
#!/bin/sh
為了使內(nèi)容整潔清晰,請輸入注釋行,并在其后加上標(biāo)題。
“后續(xù)操作”部分是我們要在模板中定義的一堆參數(shù)。模板腳本完成后,我們將能夠向其提供這些參數(shù)以將其注入到文本中。
我們在注釋行中輸入“Linux公社”作為標(biāo)題,如下所示:
#Linux公社
接下來,我們通過將它們映射到三個編號的變量來定義三個參數(shù)“ SITE”,“ AUTHOR”和“ CONTACT”:
SITE=$1
AUTHOR=$2
CONTACT=$3
您可以用相同的方式定義不同的(或更多的)參數(shù)。
創(chuàng)建您的模板
有了我們的模板參數(shù)之后,就該創(chuàng)建文本模板了。
和以前一樣,我們以注釋掉的行作為標(biāo)題,如下所示:
#模板
這是我們要添加到模板中的內(nèi)容:
- 我們將模板“夾在”兩行之間。
- 第一行讀取cat << EOF,并基本上聲明了“接下來的所有內(nèi)容(即:我們的實際模板),直到EOF出現(xiàn)之前,都應(yīng)該被視為單個輸入。”
- 第二行是EOF,在本例中是“codeword”,在這種情況下,它會中斷cat命令循環(huán)并結(jié)束模板。
cat << EOF
$SITE歡迎您使用Bash生成的TEXT模板
作者 $AUTHOR.
與我聯(lián)系 $CONTACT.
EOF
不過,一個更有用的模板可能會以電子郵件的形式出現(xiàn)。您可以定義“$NAME”和“$TASK”參數(shù),然后為電子郵件創(chuàng)建一個模板,比如:
cat << EOF
您好 $NAME,
我只是想給你回個電話 $TASK.
你能告訴我有什么變化嗎?
最好的問候,
我的名字
EOF
完成后,保存您的編輯(Ctrl+ O)并退出(Ctrl+ X)該程序。
接下來,使用以下命令使腳本可執(zhí)行:
chmod u+x linuxidc.com.sh
這樣,您將能夠使用腳本本身的名稱來創(chuàng)建新文檔。
測試運行
使用定義的參數(shù)運行腳本。我們的測試運行如下所示:
./linuxidc.com.sh Linux公社 linuxidc linuxidc@linuxidc.com
Bash 文本模板測試運行
第一部分是腳本的名稱,第一個參數(shù)“ Linux公社”,第二個參數(shù)“ linuxidc”,第三個參數(shù)“ linuxidc@linuxidc.com”。
請注意,我們可以使用下劃線(_)將“Linux公社”一詞組合在一起(比如:Linux_公社)。如果要使用空格,請?zhí)砑右枺ɡ?ldquo; Linux 公社”)。
建立文件
準(zhǔn)備好腳本后,由于重定向功能強大,您可以將其用作創(chuàng)建新文檔的模板。
為此,請像在測試運行中一樣,像以前一樣運行它,但是在定義了參數(shù)之后,輸入> path/to/file/linuxidc.com.txt。在我們的例子中,我們的命令如下所示:
./linuxidc.com.sh Linux公社 linuxidc linuxidc@linuxidc.com > linuxidc.com.txt
這樣,您可以指示模板將其結(jié)果輸出到定義的文件而不是終端。至于實際結(jié)果,可以見下圖。
看起來并不容易!
雖然看起來很復(fù)雜,但如果你按照上面的說明去做,其實很簡單。如果您經(jīng)常需要從相同的模板創(chuàng)建文本,那么它將非常有用。例如,您可以自動創(chuàng)建常規(guī)電子郵件、產(chǎn)品信息頁面等,其中相同的單詞或短語可能在同一文本中多次出現(xiàn)。
或者,您可以使用相同的方法來創(chuàng)建代碼生成模板,例如,可以幫助您使用單個命令來設(shè)置包含整個網(wǎng)站結(jié)構(gòu)的HTML文件或運行bash。啟動過程中以root用戶身份運行腳本。