访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

Linux命令技巧分享:Bash Heredoc 使用

时间:2019-07-22

linux命令手册_linux命令_linux命令

在通常的情况下,命令"registerp命令是将指定寄存器中的文本插入到缓冲区中,而命令"register]p命令与此相类似的,所不同的是这个命令在插入时会有自动缩进的设置.而与此相类似的是命令"register]p与"registerp.。拥有最强大的脚本命令,几乎你想的出来的功能,都可以用脚本编写,而且我通过2年来的观察linux命令,测试,发现该引擎不但脚本命令强大。asp是微软公司开发的代替cgi脚本程序的一种应用,它可以与数据库和其它程序进行交互,asp是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。

Bash Heredoc 使用示例

编写HereDoc的语法采用以下形式:

[COMMAND] <<[-] 'DELIMITER'

HERE-DOCUMENT

DELIMITER

最后一行以分隔标识符结束。分隔符前的空白是不允许的。

在本节中,我们将介绍如何使用heredoc的一些基本示例。

Heredoc最常与cat命令结合使用。

在下面的示例中,我们使用here document将包含环境变量和命令的两行文本传递给cat。

linuxidc@linuxidc:~/linuxidc.com$ cat << EOF

> 当前的工作目录是: $PWD

> 您登录的身份为: $(whoami)

> EOF

linux命令_linux命令手册_linux命令

从下图的输出中可以看出,变量和命令都被替换:

当前的工作目录是: /home/linuxidc/linuxidc.com

您登录的身份为: linuxidc

Bash Heredoc 使用示例

让我们看看如果我们将分隔符用单引号或双引号括起来会发生什么。

linuxidc@linuxidc:~/linuxidc.com$ cat <<- "EOF"

> 当前的工作目录是: $PWD

> 您登录的身份为: $(whoami)

> EOF

您可以注意到,当引用分隔符时,shell不会执行参数扩展和命令替换。

当前的工作目录是: $PWD

您登录的身份为: $(whoami)

Bash Heredoc 使用示例

如果在语句或循环中使用heredoc,请使用<<- 重定向操作,允许您缩进代码。

linux命令手册_linux命令_linux命令

if true; then

cat <<- EOF

Line with a leading tab.

EOF

fi

输出:

Line with a leading tab.

您可以使用>,>>运算符将其重定向到文件,而不是在屏幕上显示输出。

cat << EOF > linuxidc.txt

当前的工作目录是: $PWD

您登录的身份为: $(whoami)

EOF

如果linuxidc.txt不存在,则会创建它。 使用时>文件将被覆盖,而>>将输出附加到文件。(如下图)

Bash Heredoc 使用示例

linux命令_linux命令手册_linux命令

还可以通过管道输入heredoc。在下面的例子中,sed命令将用m替换所有i字符的实例:

linuxidc@linuxidc:~/linuxidc.com$ cat <<'EOF' | sed 's/i/m/g'

> idc

> linuxmi

> EOF

输出如下:

mdc

lmnuxmm

Bash Heredoc 使用示例

要将管道数据写入文件:

linuxidc@linuxidc:~/linuxidc.com$ cat <<'EOF' | sed 's/i/m/g'> linuxidc.txt

> idc

> linuxmi

> EOF

linux命令手册_linux命令_linux命令

使用Heredoc和SSH

使用Heredoc是通过SSH在远程系统上执行多个命令的最方便和最简单的方法之一。