Shell输入输出
-
Read
用来读取输入,并赋值给变量 -
echo
,printf
可以简单输出变量 -
> file
将输出重定向到另一个文件 -
>>
表示追加等价于tee -a
-
< file
输入重定向 -
|
表示管道,也就是前一个命令的输出传入下一个命令的输入
文件描述符
- 输入文件——标准输入 0
- 输出文件——标准输出 1
- 错误输出文件——标准错误 2
- 使用
2>&1 > /tmp/tmp < /tmp/tmp
管道
- 把不同程序的输入和输出连接
- 可以连接更多命令
-
常见的组合命令Linux三剑客
在管道中使用变量
- 管道是独立的进程,执行完即销毁,使用
{ }
或者while
组合可以编写复杂的控制逻辑
#这个方式无法获得变量x
echo hello world | read x; echo $x
#如下两个方式可以获得变量x
echo hello world | { read x; echo $x; }
echo hello world | while read x; do
echo $x;
done