Linux ShellPiping 管道

Shell输入输出

  • Read 用来读取输入,并赋值给变量
  • echoprintf 可以简单输出变量
  • > file 将输出重定向到另一个文件
  • >> 表示追加等价于 tee -a
  • < file 输入重定向
  • | 表示管道,也就是前一个命令的输出传入下一个命令的输入

文件描述符

  • 输入文件——标准输入 0
  • 输出文件——标准输出 1
  • 错误输出文件——标准错误 2
  • 使用2>&1 > /tmp/tmp < /tmp/tmp
    image.png

管道

  • 把不同程序的输入和输出连接
  • 可以连接更多命令
  • 常见的组合命令Linux三剑客


    image.png

在管道中使用变量

  • 管道是独立的进程,执行完即销毁,使用{ }或者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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容