shell脚本day02-重定向与管道符
一、重定向和管道符
1.重定向(-tr):在程序中,数据的输入输出方式:
-
- 数据输入:键盘--标准输入人,但又不是唯一的输入方式
- --stain
- echo "123456"|passwd --stdin"username"
- 例如:功能添加用户useradd.sh.user.txt文本文档1000个用户
./useradd.sh.a ./useradd.sh.b ... ./useradd.sh<user.txt> while line;do 循环体 $line done</etc/passwd>
- 数据输出:显示器--标准输出,但不是唯一的输出方式
- fa 文件标识符 0-9 //相当于给文件分类
- 0--标准输出
- 1--标准输入
- 2--错误输入输出(标准错误)
- 数据输入:键盘--标准输入人,但又不是唯一的输入方式
常见重定向符号:
1.标准输出
> 覆盖重定向,使用时应注意,极其危险
ser -c //去掉重定向的功能
>| //强制重定向
>> 追加重定向 不覆盖
2.标准输入
3.错误输出
2> 2>>
扩展:不需要输出内容,只要输出状态:
ls/etc/ > /dev/null if [$? -eq 0];then ,,,,, fi
&> &>> == 2&>1
ls/etc/ &> /dev/null
二、管道 (tee)
commdan1|commdan2|commdan3|.......
前一个命令的执行结果交给后一个命令来执行:
【linux思想:结合小功能实现大功能】例:
tee:一路输入,俩路输出
tee /tmp/tee.out //屏幕输出一次,然后保存一次
first line
cat /tmp/tee.out
实例: