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
shell 重定向 2>&1 2>/dev/null 理解笔记的更多相关文章
- /dev/null 2>&1的意思(可以直接参考shell重定向那篇,/dev/null是空设备)
路还长 别太狂 以后指不定谁辉煌 2>&1 和 &> 的解释 Linux的IO输入输出有三类 Standard Input 代码 0 Standard Output 代码 ...
- Shell标准输出、标准错误 >/dev/null 2>&1
Shell中可能经常能看到:>/dev/null 2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print ...
- [转]Linux Shell 1>/dev/null 2>&1 含义
shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件> :代表 ...
- 重定向,/dev/null, 1>, 2>什么意思?
文件描述符我们常见的就是系统预留的0,1和2这三个,他们的意义分别有如下对应关系: 0 —— stdin(标准输入) 1 —— stdout (标准输出) 2 —— stderr (标准错误) 其中, ...
- Linux Shell 1>/dev/null 2>&1 含义
shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件> :代表 ...
- 详细理解 > /dev/null 2>&1
0:表示键盘输入(stdin) 1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) "command >/dev/null 2>&1 &am ...
- Linux Shell下”>/dev/null 2>&1“相关知识说明
0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) command >/dev/null 2>&1 & == ...
- Shell的>/dev/null、2>&1、2>1
转载自:http://dos2unix.cn/link/480 1. 标准输入stdin文件描述符为0,标准输出stdout文件描述符为1,标准错误stderr文件描述符为2 2. /dev/null ...
- 添加crontab为什么要重定向输出到/dev/null
如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情.因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件 /var/spool/mail/$use ...
随机推荐
- python 去重方法
待补充:https://www.cnblogs.com/zknublx/p/6042295.html 一.使用集合直接去重 ids = [1,4,3,3,4,2,3,4,5,6,1]ids = lis ...
- aop 幂等验证(二)
1 创建IIdempotent @Target({ElementType.PARAMETER, ElementType.METHOD}) @Retention(RetentionPolicy.RUNT ...
- NOIP算法小结(转载)
(一)数论 1.最大公约数,最小公倍数 2.筛法求素数 3.mod规律公式 4.排列组合数,错排 5.Catalan数 6.康托展开 7.负进制 8.中位数的应用 9.位运算 (二)高精度算法 1.朴 ...
- Codeforces 1108F MST Unification(最小生成树性质)
题目链接:MST Unification 题意:给定一张连通的无向带权图.存在给边权加一的操作,求最少操作数,使得最小生成树唯一. 题解:最小生成树在算法导论中有这个性质: 把一个连通无向图的生成树边 ...
- kubernetes调度pod运行于master节点上
应用背景: 使用kubeadm部署的kubernetes集群,其master节点默认拒绝将pod调度运行于其上的,加点官方的术语就是:master默认被赋予了一个或者多个“污点(taints)”,“污 ...
- Eureka 配置
#是否向服务注册中心注册自己,该值默认为trueeureka.client.register-with-eureka=falseserver端建议设为false #服务注册中心的配置内容,指定服务注册 ...
- 20165223《网络对抗技术》Exp4 恶意代码分析
目录 -- 恶意代码分析 恶意代码分析说明 实验任务目标 实验内容概述 schtasks命令使用 实验内容 系统运行监控 恶意软件分析 静态分析 virscan分析和VirusTotal分析 PEiD ...
- ACM-ICPC 2018 徐州赛区网络预赛 HRyuji doesn't want to study 树状数组
题目链接:https://nanti.jisuanke.com/t/A2007 题目大意:有一个序列含有n个数a[1],a[2],a[3],……a[n],有两种操作: 第一种操作:k=1,l,r,询问 ...
- CC++语法::数组名退化(array decaying)
参考: CSDN::C/C++中数组名退化为指针的情况 stackoverflow::What is array decaying? 起因 笔者在写memset的时候总想偷一点懒(因为我们一般都是为了 ...
- ZooKeeper集群与Leader选举
说说你对ZooKeeper集群与Leader选举的理解? ZooKeeper是一个开源分布式协调服务.分布式数据一致性解决方案.可基于ZooKeeper实现命名服务.集群管理.Master选举.分 ...