// 函数  输入输出重定向    

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. 从输入URL到页面加载的全过程

    前面的话 本文将详细介绍从输入URL到页面加载的全过程 概述 从输入URL到页面加载的主干流程如下: 1.浏览器构建HTTP Request请求 2.网络传输 3.服务器构建HTTP Response ...

  2. 洛谷P1512伊甸园的日历游戏题解

    题目 因为可能要参加qbxt的数论考试,所以最近要开始猛刷数论题了. 这是第一道,不过看样子并不想数论题啊,只是一个博弈论. 思路 一位著名老师说过,数学就是转化和化简,所以先考虑化简,先考虑化简年份 ...

  3. python中的技巧——杂记

    杂记 zip的用法 对于 a = [1,2,3] b = [3,2,1] 若要同时遍历 for x, y in zip(a, b): pass zip(a, b)=> [(1,2,3),(3,2 ...

  4. CF1155F Delivery Oligopoly

    题意:给定简单无向图,求一个最小的边集使得这些点是边双,输出方案.n <= 14 解:考虑一个边双肯定是一条一条的链拼起来的.于是每次枚举一条链加上去就行了. 设fs表示点集s形成边双的最小边数 ...

  5. 2019年6月pmp考试马上开始!报考9月怎么进行中文报名?

    2019年6月pmp考试马上开始了,现在还可不可以报名参加考试呢?来不来得及呢?怎么进行中文报名,考点在哪里?如果现在想报考9月怎么进行中文报名?下面慧翔天地就给大家分享! (关于甘特图的画法,项目管 ...

  6. Arrays和String单元测试(课下作业,选做)

    在IDEA中以TDD的方式对String类和Arrays类进行学习- 测试相关方法的正常,错误和边界情况 - String类 - charAt - split - Arrays类 - sort - b ...

  7. 编写高质量的Python代码系列(七)之协作开发

    如果多个人要开发同一个Python程序,那就得仔细商量代码的写法了.即使你是一个人开发,也需要理解其他人所写的模块.本节讲解多人协作开发Python程序时所用的标准工具及最佳做法. 第四十九条:为每个 ...

  8. django环境部署 crm和路飞学城

    环境依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-de ...

  9. 远程代理模式-Remote Proxy(Java实现)

    远程代理模式-Remote Proxy 服务端通过rmi将对象注册到远程服务, 客户端使用时, 只需要通过rmi协议获取即可, 只要接口统一, 即可不需要知道内部具体实现, 直接调用使用. Compa ...

  10. count

    select deptno as 部门,count(*) as 人数from emp group by deptno;  --统计各个部门的人数