在某些场合,可能需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判断生成不同的最终文件等等。
一、cat和EOF
cat
命令是 linux
下的一个文本输出命令,通常是用于观看某个文件的内容的;
EOF是 “end of file”,表示文本结束符。
结合这两个标识,即可避免使用多行 echo
命令的方式,并实现多行输出的结果。
二、使用
看例子是最快的熟悉方法:
1 | # cat << EOF > test.sh |
结果:
1 | # cat test.sh |
可以看到,test.sh的内容就是cat生成的内容。
三、其他写法
1、追加文件
1 | # cat << EOF >> test.sh |
2、换一种写法
1 | # cat > test.sh << EOF |
3、 EOF只是标识,不是固定的
1 | # cat << HHH > iii.txt |
这里的“HHH”就代替了“EOF”的功能。结果是相同的。
1 | # cat iii.txt |
4、非脚本中
如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识
1 | # cat > iii.txt |
结果:
1 | # cat iii.txt |
在脚本中可以用cat>.tmp
四、忽略内容中变量
开头的 EOF
加上引号即可,即:
1 | cat <<'EOF' |
结果:
1 | 1 |