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

实例:

 

      

原文地址:https://www.cnblogs.com/ljx1/p/11331728.html