cat命令和EOF标识输出shell到文件

在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判断生成不同的最终文件等等。
一、cat和EOF
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
EOF是“end of file”,表示文本结束符。
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
二、使用
看例子是最快的熟悉方法:

# cat << EOF > test.sh
> #!/bin/bash
> #you Shell script writes here.
> EOF

结果:

引用

# cat test.sh
#!/bin/bash
#you Shell script writes here.

可以看到,test.sh的内容就是cat生成的内容。
三、其他写法
1、追加文件

# cat << EOF >> test.sh

2、换一种写法

# cat > test.sh << EOF

3、EOF只是标识,不是固定的

# cat << HHH > iii.txt
> sdlkfjksl
> sdkjflk
> asdlfj
> HHH

这里的“HHH”就代替了“EOF”的功能。结果是相同的。

引用

# cat iii.txt
sdlkfjksl
sdkjflk
asdlfj

4、非脚本中
如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识

# cat > iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk
Ctrl-D

结果:

引用

# cat iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk

自己看了这个例子后,写给了个测试程序一并贴出:

1.

#test.sh

#!/bin/sh
cat << EOF > xiaozhao.txt
hello
zhao
xiao
EOF

#./test.sh

在当前目录下生成xiaozhao.txt文件。

# cat xiaozhao.txt
hello
zhao
xiao

2.修改test.sh 为

#!/bin/sh
cat << EOF
hello
zhao

xiao
EOF

#./test.sh

hello
zhao
xiao

时间: 2024-10-29 03:40:35

cat命令和EOF标识输出shell到文件的相关文章

CentOS Linux 系统命令之文件查看cat命令

在Linux系统中,cat命令是一个文本输出命令,通常用来查看某个文档的内容.它有如下三个功能: 1).一次性显示整个文件 如:查看/etc/initab文件,可以使用命令:cat/etc/inittab 2).从键盘创建一个文件 如:命令:cat >five.txt,然后就输入些文字信息,退出直接可以Ctrl+C. 3).将几个文件合并为一个文件 如:命令:catfive.txt six.txt > fivesix.txt 命令cat的命令格式:cat [选项] [文件] 命令参数: -A,

linux shell cat 命令

cat:查看文件的内容.连接文件.创建一个或多个文件和重定向输出到终端或文件  用法:cat [选项] [文件] 1. $ cat hello.txt 显示hello.txt文本文件中的内容 2. $ cat -n file -n选项,可以显示文件的内容和行号 3. $ cat -b file -b选项,与-n类似,但只标识非空白行的行号(空白行仍显示) 4. $ cat -e file -e选项,将在每一行的末尾显示"$"字符,在需要将多行内容转换成一行时非常有用. 5. $ cat

linux cat命令使用方法详解--把档案串连接后传到基本输出

linux cat命令使用方法详解--把档案串连接后传到基本输出 日期:2011-12-05 点击:2324 来源: 未知 分享至: 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)参数:-n 或 --number 由 1 开始对所有输出的行数编号-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号-s 或 --squeeze-b

在centos系统shell脚本中cat和重定向符号&lt;&lt;EOF结合使用的注意事项

在运维人员编写shell脚本中,有时会需要将一些内容直接放在到一个文件,比如在一个shell脚本中配置一些内容再生成一个shell脚本,此时可以使用到cat命令和重定向符号"<<"以及EOF的使用.但是,在shell脚本中使用重定向符号生成shell脚本时,会遇到一些问题,比如,内容中含有特殊符号"#","`","$"时,(如果以"#"开头,则需要加转义符"\")重定向会忽略

shell介绍/命令历史/命令补全/通配符/输出输入重定向

shell介绍 * shell是一个命令解释器,提供用户和机器之间的交互. * 支持特定语法,比如逻辑判断.循环. * 每个用户都可以有自己特定的shell. * Centos7默认shell为bash. * 还有zsh.ksh 命令历史 我们在终端上敲过的命令,都有它的历史记录,比如此时按下向上键就会看到你之前最后输入的一条命令,再按就再往前翻,这里就开始学习认识命令历史 使用history命令查看历史命令: [[email protected] ~]# history 这里可以看到我已经输入

shell基础--cat命令的使用

一.cat的常用用法 1.总结 2.实验 (1).非交互式编辑 [[email protected]~_~ day5]# cat > cattest.sh <<STOP > hello > STOP [[email protected]~_~ day5]# cat cattest.sh hello [[email protected]~_~ day5]# cat > cattest.sh << EOF hello cat with EOF EOF [[ema

Linux cat 命令

cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的:cat主要有三大功能:1.一次显示整个文件.$ cat   filename2.从键盘创建一个文件.$ cat  >  filename只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件.$cat   file1   file2  > filecat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串连接后传到基本输出(屏幕或加 &

每天一个Linux命令(8)cat命令

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令. 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容.因此,一般用more等命令分屏显示.为了控制滚屏,可以按Ctrl+S键,停止滚屏:按Ctrl+Q键可以恢复滚屏.按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态.     (1)用法: 用法:cat [选项] [文件]...     (2)功能: 将[文件]或标准输入组合输出到标准输出.    

13个Cat命令管理文件实例汇总

在Linux系统中,大多数配置文件.日志文件,甚至shell脚本都使用文本文件格式,因此,Linux系统存在着多种文本编辑器,但当你仅仅想要查看一下这些文件的内容时,可使用一个简单的命令-cat. cat手册里这样描述: cat命令读取文件内容,并输出到标准设备上面. cat是一条linux内置命令. 几乎所有linux发行版都内置(译注:或者说我从未听说过不内置cat命令的发行版).接下来,让我们开始学习如何使用. 1. 显示文件内容 最简单的方法是直接输入‘cat file_name’. #