如何在BASH中创建TXT模板脚本


如果你发现自己每天在终端中创建相似的文本,为什么不通过创建一个.txt模板脚本来简化此过程并节省时间呢?听起来是不是很有趣,那就启动一个终端,选择自己喜欢的文本编辑器,然后开始吧!

创建一个新的模板脚本

无论您喜欢哪种方式,创建一个新的bash脚本。我们正在终端中使用nano编辑器在主目录中的“linuxidc”文件夹中创建一个名为“ linuxboy.net.sh”的文件:

定义参数

在您喜欢的编辑器中打开文件。在最顶部,输入将其定义为bash脚本的典型介绍:

#!/bin/sh

为了使内容整洁清晰,请输入注释行,并在其后加上标题。

“后续操作”部分是我们要在模板中定义的一堆参数。模板脚本完成后,我们将能够向其提供这些参数以将其注入到文本中。

我们在注释行中输入“linuxboy”作为标题,如下所示:

#linuxboy

接下来,我们通过将它们映射到三个编号的变量来定义三个参数“ SITE”,“ AUTHOR”和“ CONTACT”:

SITE=$1
AUTHOR=$2
CONTACT=$3

如何在BASH中创建TXT模板脚本

您可以用相同的方式定义不同的(或更多的)参数。

创建您的模板

有了我们的模板参数之后,就该创建文本模板了。

和以前一样,我们以注释掉的行作为标题,如下所示:

#模板

这是我们要添加到模板中的内容:

  • 我们将模板“夹在”两行之间。
  • 第一行读取cat << EOF,并基本上声明了“接下来的所有内容(即:我们的实际模板),直到EOF出现之前,都应该被视为单个输入。”
  • 第二行是EOF,在本例中是“codeword”,在这种情况下,它会中断cat命令循环并结束模板。

cat << EOF
$SITE欢迎您使用Bash生成的TEXT模板
作者 $AUTHOR.
与我联系 $CONTACT.
EOF

如何在BASH中创建TXT模板脚本

不过,一个更有用的模板可能会以电子邮件的形式出现。您可以定义“$NAME”和“$TASK”参数,然后为电子邮件创建一个模板,比如:

cat << EOF
您好 $NAME,
我只是想给你回个电话 $TASK.
你能告诉我有什么变化吗?
 
最好的问候,
我的名字
EOF

完成后,保存您的编辑(Ctrl+ O)并退出(Ctrl+ X)该程序。

接下来,使用以下命令使脚本可执行:

chmod u+x linuxboy.net.sh

 如何在BASH中创建TXT模板脚本

这样,您将能够使用脚本本身的名称来创建新文档。

测试运行

使用定义的参数运行脚本。我们的测试运行如下所示:

./linuxboy.net.sh linuxboy linuxidc linuxidc@linuxboy.net

Bash 文本模板测试运行

第一部分是脚本的名称,第一个参数“ linuxboy”,第二个参数“ linuxidc”,第三个参数“ linuxidc@linuxboy.net”。

如何在BASH中创建TXT模板脚本

请注意,我们可以使用下划线(_)将“linuxboy”一词组合在一起(比如:Linux_公社)。如果要使用空格,请添加引号(例如“ Linux 公社”)。

建立文件

准备好脚本后,由于重定向功能强大,您可以将其用作创建新文档的模板。

为此,请像在测试运行中一样,像以前一样运行它,但是在定义了参数之后,输入> path/to/file/linuxboy.net.txt。在我们的例子中,我们的命令如下所示:

./linuxboy.net.sh linuxboy linuxidc linuxidc@linuxboy.net > linuxboy.net.txt

这样,您可以指示模板将其结果输出到定义的文件而不是终端。至于实际结果,可以见下图。

如何在BASH中创建TXT模板脚本

看起来并不容易!

虽然看起来很复杂,但如果你按照上面的说明去做,其实很简单。如果您经常需要从相同的模板创建文本,那么它将非常有用。例如,您可以自动创建常规电子邮件、产品信息页面等,其中相同的单词或短语可能在同一文本中多次出现。

或者,您可以使用相同的方法来创建代码生成模板,例如,可以帮助您使用单个命令来设置包含整个网站结构的HTML文件或运行bash。启动过程中以root用户身份运行脚本。

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

本文永久更新链接地址:https://www.linuxboy.net/Linux/2020-04/162952.htm

相关内容