linux 重定向

linux的重定向:
0 标准输入
1 标准输出
2 错误信息输出

#!/bin/bash
# 文件名 test.sh

for i in $(seq 1 10)
do
echo $i
sleep 1
done

默认情况下,程序的标准输出和标准错误会定向到控制台,

sh test.sh #默认指向的是终端显示器 等价于 sh test.sh 1>tty 2>&1 # tty既是当前终端 &1是对程序文件描述符1的引用,

1代表程序的文件描述1,其对tty是终端的显示器
2代表程序的标准错误,&1就是对文件描述符1的引用

我们可以将程序的标准输出和标准错误重定向到文件里

sh test.sh 1>log1 2>log2

可以将标准输出和标准错误定位到同一个文件,

sh test.sh 1>log 2>log  # 标准输出和标准错误都会各自打开log
sh test.sh 1>log 2>&1 # 标准输出打开log,而标准错误,定向到标准输出.这样只打开了一次log

如果不想要日志文件,则可以输出到/dev/null,其所接收到的信息都会被丢弃.

sh test.sh 1>/dev/null 2>&1

参考:
https://www.cnblogs.com/sharesdk/p/9203609.html
https://www.cnblogs.com/kevin-yuan/p/10063807.html
https://www.jb51.net/article/169778.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值