Linux Heredoc教程(linuxredhat安装教程)

linux Linux Heredoc教程 here文档,又称作heredoc、hereis、here-字串或here-脚本,是一种在命令行shell和程式语言里定义一个字串的方法 By myfreax 18 Jul 2022

here文本文件,也被称为作heredoc、hereis、here-字串或here-脚本制作,是一种在命令行shell和流程语言表达里定义一个字串的方法。

它可以保存文字里面的自动换行或是缩近等空白字符。一些语言表达可以从字串里推行变量替换和命令替换。

当编写shell脚本,你也许会在某些情况下,你需要将文字或代码的传递给互动型命令,如teecatsftp

在Bash和Zsh等其他shell中,Heredoc是一种自动跳转类型,它允许我们将每天做输入传递给命令。

[COMMAND] <<[-] 'DELIMITER'
  HERE-DOCUMENT
DELIMITER

那也是HereDoc的句法所选用的方法。第一行开始命令COMMAND是可选择的,脚后跟与众不同操作符<<和定界符DELIMITER

您可以使用一切字符串数组作为定界符DELIMITER,常见是EOF或END。

<<后面加上减号-可能导致所有流板分节符被忽略。这也使得我们可以在shell操作程序脚本制作时编写内容时运用缩近。不能运用流板空格字符,必须采用分节符。

HERE-DOCUMENT可以包含字符串数组,变量,命令和其它多种类型输入。最后一行以定界标志符结尾。分节符前面不允许有空格符。

Heredoc案例

在这里节中,我们在这里介绍一些如何使用heredoc的最重要案例。Heredoc最常与cat命令结合使用。

在下面的案例中,大伙儿传递了二行文本,主要包括一个环境变量和whoami命令再用heredoc。

cat << EOF
The current working directory is: $PWD
You are logged in as: $(whoami)
EOF

从导出来中可以看到,自变量和命令导出来都被替换。让我们一起看看如果将定界符括在反斜杠或冒号中有什么。

你能留意到,如果用灶具导致来时,shell不易做任何基本参数扩展和命令替换。

cat <<- "EOF"
The current working directory is: $PWD
You are logged in as: $(whoami)
EOF

如果是在语句或循环中运用Heredoc,挑选<<-允许您缩近编号操作过程。

if true; then
    cat <<- EOF
    Line with a leading tab.
    EOF
fi

您可以使用>>>运算符将输出重定向到文本文档,千万不要在屏幕上显示导出来。

cat << EOF > file.txt
The current working directory is: $PWD
You are logged in as: $(whoami)
EOF

倘若file.txt也不会有,如果它创建。使用时>,文本文档会被遮住,而>>能把导出来增至word里。

Heredoc输入也可以通过管道传递。在以下案例中,sed命令将用l标志符替换所有标志符e

cat <<'EOF' |  sed 's/l/e/g'
Hello
World
EOF

SSH运用heredoc

运用Heredoc是通过SSH在远程系统上推行好多个命令的最便捷的方法。

运用并没有灶具的定界符时,请确保转义所有变量,命令和特殊字符,要不然她们将在本地被描述,进行命令,变量的替换操作过程。

您仍需要设置依据SSH秘钥无账户登录并输送到Linux服务器。

ssh -T user@host.com << EOF
echo "The current local working directory is: $PWD"
echo "The current remote working directory is: $PWD"
EOF

结论

在教学中,您了解了什么是heredoc。如何有效在shell操作程序脚本制作中使用这个。如果您有任何问题或意见和建议,请随时。

LINUX

Linux xargs 命令实例教程(linux xargs命令详解)

2023-1-19 11:05:15

LINUX

SSH 挂载远程目录SSHFS(mount挂载远程目录)

2023-1-19 11:10:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索