龙空技术网

厉害了!使用cat和重定向轻松生成多行文本!赌你肯定不晓得

老男孩IT教育 295

前言:

而今大家对“多tab页面数据保留”大致比较关注,各位老铁们都想要剖析一些“多tab页面数据保留”的相关文章。那么小编同时在网摘上网罗了一些对于“多tab页面数据保留””的相关文章,希望大家能喜欢,我们一起来了解一下吧!

在Linux系统的shell脚本中,有时候我们需要在脚本程序的执行过程中输出一些文件。

这些文件可能是一个简单的文本文档、也可能是脚本执行过程中产生的一些数据的记录或者根据需要建立输出一个新的脚本到系统中等等。

对于这样的情况我们可以采用cat和重定向输入来进行解决。

cat 查看文本文件内容EOF 全拼"end of file",文件结束符>标准输出重定向<<追加输入重定向

多说无益,上代码!

1、追加多行文本到oldboy.txt

cat >/opt/oldboy.txt <<EOFoldboyoldgirlEOFcat /opt/oldboy.txt注:1.EOF要成对,EOF也可以是和增加内容不冲突的其他字符串。2.结尾EOF要顶格,EOF后面也不能有任何字符(包括空格)否则会出错。

输出结果:

oldboyoldgirl

2、追加多行文本到oldboy.txt,文本中带特殊字符,例如:$

方法1:传统方法,转义特殊字符

cat > /opt/oldboy.sh <<EOFoldboy="I am oldboy."echo \$oldboyEOF注:用反斜线对特殊字符$进行转义,写法为\$

方法2:本文方法,无需对特殊字符转义(本文精髓)

#起始EOF被加上双引号或者单引号,即可解决特殊字符转义问题。

cat > /opt/oldboy.sh <<'EOF'oldboy="I am oldboy."echo $oldboyEOF注:把首个EOF用单引号或双引号引起来。

方法1和方法2输出结果同为:

oldboy="I am oldboy."echo $oldboy#可以看到$符号正常

3、直接输出多行文本到屏幕(-的作用)

#正常输出,空格,tab都有效,前面加tabcat <<'EOF'  oldboy="I am oldboy."  echo $oldboyEOF#输出结果(保留tab,所以看起来缩进了):  oldboy="I am oldboy."  echo $oldboy  #EOF前加-,会忽略TAB键[不能是空格]cat <<-'EOF'  oldboy="I am oldboy."  echo $oldboy  EOF#注:#1.结尾的EOF也可以不顶格了(加tab)。#2.注意输出是否顶格。#输出结果(忽略了tab):oldboy="I am oldboy."echo $oldboy

4、综合演示脚本

[root@oldboy ~]# cat oldboy.sh #范例1:追加多行普通文本echo ------范例1:--------------cat >/opt/oldboy.txt <<EOFoldboyoldgirlEOFcat /opt/oldboy.txt#注:#1.EOF要成对,EOF也可以是和增加内容不冲突的其他字符串。#2.结尾EOF要顶格,EOF后面也不能有任何字符(包括空格)否则会出错。echo ------范例2:--------------#范例2:追加带特殊字符的多行文本#方法1:传统方法,转义特殊字符cat >/opt/oldboy.sh <<EOFoldboy="I am oldboy."echo \$oldboyEOF#注:用反斜线对特殊字符$进行转义,写法为\$cat /opt/oldboy.shecho ------范例3:--------------#方法2:本文方法,无需对特殊字符转义#起始EOF被加上双引号或者单引号,即可解决特殊字符转义问题。cat > /opt/oldboy.sh <<'EOF'   oldboy="I am oldboy."echo $oldboyEOF#注:把首个EOF用单引号或双引号引起来。cat /opt/oldboy.shecho ------范例4:--------------#范例4:#正常输出,空格,tab都有效cat <<'EOF'    oldboy="I am oldboy."    echo $oldboyEOF#EOF前加-,会忽略TAB键[不能是空格]cat <<-'EOF'    oldboy="I am oldboy."    echo $oldboy    EOF#注:#1.结尾的EOF也可以不顶格了。#2.注意输出是否顶格。

执行结果:

[root@oldboy ~]# sh oldboy.sh ------范例1:--------------oldboyoldgirl------范例2:--------------oldboy="I am oldboy."echo $oldboy------范例3:--------------oldboy="I am oldboy."echo $oldboy------范例4:--------------    oldboy="I am oldboy."    echo $oldboy  oldboy="I am oldboy."echo $oldboy

更多精彩内容

欢迎关注公众号【老男孩Linux】

标签: #多tab页面数据保留