手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2020-04-19] 来源:Linux公社  作者:醉落红尘 [字体: ]

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

创建一个新的模板脚本

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

定义参数

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

#!/bin/sh

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

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

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

#Linux公社

接下来,我们通过将它们映射到三个编号的变量来定义三个参数“ 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 linuxidc.com.sh

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

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

测试运行

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

./linuxidc.com.sh Linux公社 linuxidc linuxidc@linuxidc.com

Bash 文本模板测试运行

第一部分是脚本的名称,第一个参数“ Linux公社”,第二个参数“ linuxidc”,第三个参数“ linuxidc@linuxidc.com”。

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

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

建立文件

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

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

./linuxidc.com.sh Linux公社 linuxidc linuxidc@linuxidc.com > linuxidc.com.txt

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

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

看起来并不容易!

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

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

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

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

linux
相关资讯       bash 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款