shell大段字符串处理之Here Document

如果你在用Linux command或者有一定的编程基础,那么你一定知道在这些语言中经常会遇到大段的字符串处理的情况,对于C++、Java、GO网上的资料,比较多,对应shell,反而大段字符串处理的资料就比较少了。在shell大段字符串的处理,就不得不说"Here Document "

here文档是重定向到交互式程序或命令的文本或代码块。

#!/bin/bash
Command <<EOF
some text
some more text
EOF

上面的命令相当于<tempfile.txt, 从文件中读取输入。

标记here document限制字符串(<<-LimitString)的-选项将在输出中取消前导制表符(但不包括空格)。这有助于提高脚本的可读性。

例子

cat大段字符串

#!/bin/bash
cat <<End-of-message
--------------------------
The quick brown fox
jumped over the lazy dog
--------------------------
End-of-message

s上面的命令等同于cat < file.txt

替换大段文本中变量

#!/bin/bash
ACTION="Quickly"
cat <<End-of-msg
--------------------------
The quick brown fox $ACTION
jumped over the lazy dog
--------------------------
End-of-msg

要禁用参数替换,请在限制字符串两边加引号:<<“消息结束”
在这里,文档也可以用来为变量或函数提供值。

ssh执行多个命令

这个命令非常使用, 配置在jenkins中可以快速的构建出一个发布系统。

ssh server1 << HERE
 command1
 command2
 command3
HERE
Golang中获取当天0时的时间戳
Linux ss命令: 不要再用只会用netstat
Tags: