zoukankan      html  css  js  c++  java
  • shell 重定向 2>&1 2>/dev/null 理解笔记

    // 函数  输入输出重定向    
    
    1、函数     
      
    function hello(){  
      echo '1111'  
    } 
    
    ------- 
    
    hello  
    
    hello(){     // function 可以省略    
      echo '2222'  
    }     
    
    hello     
    
    -------
    
    hello(){
      return 11
    }
    
    hello
    echo $? // 获取函数返回的值   
    
    -------
    
    function hello(){    
      echo $1    
      echo $2    
      echo $3     
      echo "第十个参数${10}"     
      echo "参数个数${#}"      
      echo "输出所有参数${*}"     
      echo "输出所有参数${@}"     
    }     
    
    hello 1 2 3 4 5    
    
    -------  
    
    2、输入输出重定向     
    
    > 
    >>
    < 输入重定向
    << 
    
    cat < ./1.txt // 把1.txt的内容截取出来     
    
    
    标准输入文件(stdin) 0    
    标准输出文件(stdout) 1     
    标准错误文件(stderr) 2    
    
    
    重定向解释:
    2>&1    // 标准错误输出重定向到标准输出     
    /dev/null // 空设备 相当于一个黑洞 吞噬一切信息       
    
    // 标准输出  
    echo 123 > ./1.txt 等同于 echo 123 1> ./1.txt  
    
    // 标准错误输出 
    echo 123 2> ./1.txt  把标准错误输出重定向到1.txt    
     
    ./2.sh    
    hello   // hello 会报错 走标准错误输出   
    date
    
    ./2.sh > 1.txt   // 会看到报错直接在终端上显示,未输出到1.txt,因为这里是标准输出,没有写标准错误输出重定向到1.txt   
    
    ./2.sh 1> 1.txt 2> ./1.txt 这样就把标准错误输出到了1.txt  
     但是有个问题,这个写法相当于,打开了两次1.txt, 标准输出被标准错误输出给覆盖了    
     
    ./2.sh 1> 1.txt 2>&1   // >& 相当于对后面1即标准输出的引用,然后这句话的意思是标准输出重定向到1.txt,标准错误输出也重定向到1.txt,因此 ./1.txt里会显示
    
    ./2.sh:行1: t: 未找到命令    
    2019年 03月 30日 星期六 15:29:38 CST  
    
    ./2.sh 1> 1.txt 2>/dev/null  // 这里标准输出重定向到1.txt, 标准错误输出重定向到空设备,即不输出错误信息,这时./1.txt里会显示    
    2019年 03月 30日 星期六 15:40:58 CST       
              
    
    3、文件引用   
    
    source ./xx.sh   或者 .  ./1.sh   
    

      

  • 相关阅读:
    native2ascii转码工具的使用
    文件查找工具Everything小工具的使用
    sql中decode()重要函数使用
    java中随机生成汉字
    java中Random(long seed)方法与rRandom()方法的使用产生随机数
    WEB项目web.xml文件中classpath: 跟classpath*:使用的区别
    170809、 把list集合中的数据按照一定数量分组
    170808、生成为CVS文件
    170807、intellij idea maven集成lombok实例
    170804、使用Joda-Time优雅的处理日期时间
  • 原文地址:https://www.cnblogs.com/leyi/p/10627590.html
Copyright © 2011-2022 走看看