【小白程序猿大战菜鸟工程狮】输出重定向

不打扰是莪最后的温柔 提交于 2019-11-27 16:10:55

输出重定向

输出

“>”:覆盖输出,会覆盖掉原来的内容
“>>”:追加输出,不会覆盖掉原始文件内容,在原始文件末尾继续添加

[root@freedom ~]# echo "how are you" >one
[root@freedom ~]# cat one
how are you
[root@freedom ~]# echo "i am fine" >>one
[root@freedom ~]# cat one
how are you
i am fine

错误输出

“2>”:错误覆盖输出,会覆盖掉原来的内容
“2>>”:错误追加输出,不会覆盖掉原始文件内容,在原始文件末尾继续添加

[root@freedom ~]# freedom 2>one
[root@freedom ~]# cat one
bash: freedom: 未找到命令...
[root@freedom ~]# justice 2>>one
[root@freedom ~]# cat one
bash: freedom: 未找到命令...
bash: justice: 未找到命令...

全部输出

“&>”:将标准输出和错误输出全部写入到文件中,覆盖原有内容
“&>>”:将标准输出和错误输出全部写入到文件中,不覆盖原有内容,在末尾继续添加

[root@freedom ~]# ls &>>one
[root@freedom ~]# cat one
bash: freedom: 未找到命令...
bash: justice: 未找到命令...
anaconda-ks.cfg
initial-setup-ks.cfg
one
公共
模板
视频
图片
文档
下载
音乐
桌面

总结

一个>都是覆盖输出
两个>都是追加输出

输入重定向

输入重定向经常会在shell里配合EOF使用

cat >> 1 <<EOF
> AAAAAAAAAAAA
> AAAAAAAAAAAA
> BBBBBBBBBBBB
> BBBBBBBBBBBB
> CCCCCCCCCCCC
> CCCCCCCCCCCC
> EOF

写shell脚本时经常会要将一段文字输入到某个文件里,短的时候可以用echo,但文字太长echo就不合适了,这时就可以用输入重定向配合EOF输出多行文字。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!