// 函数  输入输出重定向    

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

  

shell 重定向 2>&1 2>/dev/null 理解笔记的更多相关文章

  1. /dev/null 2>&1的意思(可以直接参考shell重定向那篇,/dev/null是空设备)

    路还长 别太狂 以后指不定谁辉煌 2>&1 和 &> 的解释 Linux的IO输入输出有三类 Standard Input 代码 0 Standard Output 代码 ...

  2. Shell标准输出、标准错误 >/dev/null 2>&1

    Shell中可能经常能看到:>/dev/null  2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print ...

  3. [转]Linux Shell 1>/dev/null 2>&1 含义

    shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件>  :代表 ...

  4. 重定向,/dev/null, 1>, 2>什么意思?

    文件描述符我们常见的就是系统预留的0,1和2这三个,他们的意义分别有如下对应关系: 0 —— stdin(标准输入) 1 —— stdout (标准输出) 2 —— stderr (标准错误) 其中, ...

  5. Linux Shell 1>/dev/null 2>&1 含义

    shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件>  :代表 ...

  6. 详细理解 > /dev/null 2>&1

    0:表示键盘输入(stdin) 1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) "command >/dev/null 2>&1 &am ...

  7. Linux Shell下”>/dev/null 2>&1“相关知识说明

    0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) command >/dev/null 2>&1 &  == ...

  8. Shell的>/dev/null、2>&1、2>1

    转载自:http://dos2unix.cn/link/480 1. 标准输入stdin文件描述符为0,标准输出stdout文件描述符为1,标准错误stderr文件描述符为2 2. /dev/null ...

  9. 添加crontab为什么要重定向输出到/dev/null

    如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情.因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件 /var/spool/mail/$use ...

随机推荐

  1. hashlib 模块:加密

    import hashlib # 基本使用 cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8')) print(cipher.hexdigest() ...

  2. 内存溢出OOM

    如何避免OOM 异常? 想要避免OOM 异常首先我们要知道什么情况下会导致OOM 异常. 1.图片过大导致OOM Android 中用bitmap 时很容易内存溢出,比如报如下错误:Java.lang ...

  3. pixy&STM32使用记录(串口&SPI外设)

    先踏踏实实的把stm32的外设串口,SPI搞清楚,不要眼高手低,看不起小事.用SPI通信将pixy的数据读出来,将数据用串口发到串口助手上,然后处理数据,利用STM32的定时器调节pwm,控制电机,先 ...

  4. pycharm failed to create JVM

    启动的时候,出现这个error: 解决办法: 如果电脑安装的jdk是64位,找到pycharm的安装目录下的bin目录下的pycharm64.exe.vmoptions文件修改以下值, 如果是32位, ...

  5. Python_002_Python语言基础

    ♥2.1  Python的程序概述 Python程序可以分解为模块.语句.表达式.对象 ♥2.2  Python对象和引用 2.2.1  Python对象概述 对象:标识(identity).类型(t ...

  6. ECMA262,JavaScript引擎,浏览器

    相关阅读:https://www.cnblogs.com/970119449blog/p/8080133.html 相关阅读:https://www.jb51.net/article/75888.ht ...

  7. SQL server 行转列 列转行

    1.简单案例 create database Hang go use Hang create table Students ( Name varchar(50), Kemu varchar(50), ...

  8. python之路day10-命名空间和作用域、函数嵌套,作用域链、闭包

    楔子 假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print ...

  9. ORA-00923: FROM keyword not found where expected(单双引号)

    1.前提 在学习oracel的过程中遇到的一个关于单双引号的问题 备注一下 2.学习过程中创建表语句是这样的 create table DEPT_DML --部门表( DEPT_NO NUMBER(8 ...

  10. 阿里百川SDK初始化失败 错误码是203

    由idea换到Androidstudio 了,结果报这个错,之前好好的啊!!! 设置问题: