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