首页 > 系统服务 > 详细

shell 脚本——第二节课 重定向和管道符

时间:2019-08-12 10:53:02      阅读:219      评论:0      收藏:0      [点我收藏+]

1、重定向
      程序 = 指令 + 数据
          命令    变量

      在程序中,数据如何输入? 又如何输出?

      数据输出:键盘 -- 标准输入? 又如何输出?
        --stdin
        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

          数据输出:显示器 -- 标准输出,但是并不是唯一输出方式
            ls /etc/> a.txt

          fd 文件标识符 0-9 --相当于给文件分类;
            被定义的为 0 1 2
            0 -- 标准输出
            1 -- 标准输入
            2 -- 错误输入输出 (标准错误)

          常见重定向符号
            1、标准输出
            >    覆盖重定向
            set-C (关闭覆盖重定向功能)
            >|      (强制重定向)
            >>     追加重定向
                不覆盖
            2、标准输入
            <     tr 替换文件内容
                 tr set1 [set2] < file.txt
            <<      将多行数据同时输入
                 cat >>a.txt<<EOF
                 >1
                 >2
                 >3
                 >EOF
            3、错误输出
            2 > 2>>
            扩展:不需要输出内容,只需要输出状态;
                 ls /etc/ > /dev/null 2> /dev/null
                 if[$? -eq 0];then
                      循环体
                 fi

            &> &>> == 2&>1
                 ls /etc/ $> /dec/null

2、管道 -tee

    command1 | command2 | command3 |……

    前一个命令的执行结果交给后一个命令来执行;
    【linux思想:结合雄安功能实现大功能】
    free -m |grep "Mem" |cut -d‘ ‘ -f19
    free -m |grep "Mem" |awk ‘{print $3}‘

    tee 一路输入, 两路输出
        tee /tmp/tee.out //如果没有文件,会创建,默认如果文件存在有内容,会覆盖;


    tail 查看文件尾部多少行(默认10行)
        -n tail -n 5 /etc/passwd == 简写 tail -5 /etc/passwd
        -f 实时查看文件更新内容
              tail -f /var/log/message
    head 查看文件头部多少行 (默认十行)
        -n # 前#行, 简写 -#
    取 10 - 20行 :head -20 /etc/passwd | tail -10

3、文本处理工具 - wc,cut,sort,uniq

 

 

 

 

 

 

虚无的 繁华里 有谁在等你吗
回头看 是孤独 留下的痕迹啊

shell 脚本——第二节课 重定向和管道符

原文:https://www.cnblogs.com/zwl123456/p/11337863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!