bash shell 杂记 (2)结果及过程的输出

本文介绍了Bash Shell中关于输出的各种控制方法,包括输出到终端、文件,颜色控制,重定向,追加输出,以及如何丢弃输出。通过示例详细解释了如何使用echo、printf、重定向符号(>,>>)以及文件描述符来管理和控制脚本的输出。文章还探讨了如何将多个命令的输出合并到一个文件中,并提到了子shell的概念及其与花括号分组命令的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个脚本执行完成后,如果不能产生输出,就不能看到执行的结果,也看不到执行的过程,不知道执行是否成功,如果异常是什么错误,就好像瞎子摸象,那么脚本就没有任何价值了,但是长久以来,输入输出一直是一个比较头疼的问题。本章我就根据我的理解,简单的讲讲输出。

输出的类型``

有太多类型的输出。向屏幕写入不同于向文件写入,至少看起来肯定不一样。向文件写入也不同于向磁带或闪存写入。如果你想让一个程序的输出直接进入另一个程序,该怎么做呢?软件开发人员是否要针对各种输出设备编写代码,甚至包括尚未发明的设备?这显然是件麻烦事。用户是不是也得知道如何将想要运行的程序连接到不同种类的设备?这也不是什么好主意。
Unix 操作系统背后最重要的概念之一就是一切皆文件(有序的字节序列)。操作系统负责实现这套魔法。无论你要写入的目标是磁盘文件、终端、磁带设备、记忆棒,还是其他东西,程序只需要知道如何
写入文件就够了,剩下的事情由操作系统搞定。这种方法很大程度上简化了前面提到的问题。那么既然都是文件,下一个问题就来了,写到哪个文件?程序怎么知道是该写入代表终端窗口的文件、磁盘文件还是其他种类的文件?不难,这种事情留给shell 就行了。
看下面这条指令
do some work < inputfile > outputfile
该命令从 inputfile 中读取输入,然后将输出发送给outputfile。如果省略 > outputfile,则会输出到终端窗口。如果省略 <inputfile,那么该程序会从键盘接受输入。程序确实不知道自己输出到了哪里,也不知道自己从哪里得到的输入。你可以利用 bash 的重定向功能将输出发送到想要的任何地方(也可以是另一个程序)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

six2me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值