linux shell 脚本【3】 ---- 重定向 与 tee 命令

1.重定向:


echo "ABCD"  > temp.txt

将ABCD写入到temp.txt中


echo "ABCD" >> temp.txt

讲ABCD追加到temp.txt中


其中

 > 相当于 1>

>>相当于 1>>


1为文件描述符,

文件描述符是与一个打开的文件或者数据流相关联的一个整数。

且系统预留了文件文件描述符如下:

0 ---- stdin(标准输入)

1 ---- stdout(标准输出)

2 ---- stderr(标准错误)


如何区分 stdout 与stderr:

当一个命令成功完成后,会返回数字0,此时的输出为stdout; 而一个命令命令发生错误并退出时,它会返回一个非0的退出状态,此时的输出为stderr。

命令的退出状态查询可以通过命令

echo $?

进行查询。


我们在使用重定向时会发现一个问题,输出被重定向到文件后,在终端就看不到打印了。

如何既重定向又同时终端打印呢??

这个时候就用到命令

tee

了。


echo "ABCD" | tee temp.txt

将输出内容"ABCD"重定向到 temp.txt同时在终端打印输出


echo "ABCD" | tee temp.txt temp02.txt

将输出内容"ABCD"同时重定向到 temp.txt 和 temp02.txt 并且在终端打印输出


echo "ABCD" | tee -a temp.txt

将输出内容"ABCD"重定向追加到 temp.txt同时在终端打印输出


本来该结束了,

但是感觉cat命令的 -n 参数挺有用,

用于输出添加行号。

在此备忘一下。



注:内容多参照 《Linux Shell 脚步攻略》。 算学习笔记了。跟大家分享一下。

写的有不妥的地方,还望多多指正!

每天进步一点点!!!




猜你喜欢

转载自blog.csdn.net/liu_zhen_wei/article/details/18010709