cat 结合 EOF 生成临时文件

本文介绍如何利用Linux下的cat命令结合EOF标识来快速生成和编辑脚本文件。通过几个实用示例,展示了如何创建、追加内容以及直接输出到文件,适用于不同场景的需求。
在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判断生成不同的最终文件等等。
一、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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值