1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux shell脚本IO重定向

Linux shell脚本IO重定向

时间:2021-04-15 19:30:06

相关推荐

Linux shell脚本IO重定向

shell IO

shell脚本或者Linux终端上,常用的IO文件描述符有三个:

0 标准输入(stdin)1 标准输出 (stdout)2 标准错误 (stderr)

标准输入一般为键盘,标准输出和标准错误一般都是显示器。可以在shell脚本的后面添加 >filename,将标准输出重定向到文件中。

重定向

一般情况下,shell脚本的标准输出和标准错误都是输出到显示器上的,我们可以通过IO重定向,将标准输出和标准错误重定向其他文件或设备。

IO重定向的一般形式如下:

$ echo "hello,world" > filename$ echo "hello,world` 1>filename$ echo "some errors" 2>error

& 是一个描述符,如果1或2前不加&,会被当成一个普通文件。1>&2 意思是把标准输出重定向到标准错误.2>&1 意思是把标准错误输出重定向到标准输出。&>filename 意思是把标准输出和标准错误输出都重定向到文件filename中

示例

#!/usr/bin/env bashset -uxeecho "error" >&2 #将error输出到标准出错echo "succ" >&1 #将succ输出到标准输出注意:2和1之前需要&,否则,其会被当作文件名,并且>前后不能有空格。

$ ./io.sh 2>stderr 1>stdin #将标准输出重定向到stdin文件,标准错误输出到stderr文件,注意,2与>,1与>之间没有空格。

$ ./io.sh 1>stdin 2>&1 #将标准错误和标准输出都重定向到stdin文件中。$ cat stdinerrorstdin

$ ./io.sh 2>stderr 1>&2 #将标准错误和标准输出重定向到stderr文件。$ ./io.sh &>stderr #将标准错误和标准输出重定向到stderr文件,与第一个运行方式效果相同。注意:>前后不要有空格。$ cat stderrerrorstdin

$ ./io.sh &>/dev/null #标准输出和标准错误重定向到/dev/null设备

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。