您的位置:首页 > 运维架构 > Shell

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

2014-01-08 21:33 417 查看
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 脚步攻略》。 算学习笔记了。跟大家分享一下。

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

每天进步一点点!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: