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 stdin
error
stdin
$ ./io.sh 2>stderr 1>&2 #将标准错误和标准输出重定向到stderr文件。
$ ./io.sh &>stderr #将标准错误和标准输出重定向到stderr文件,与第一个运行方式效果相同。注意:>前后不要有空格。$ cat stderr
error
stdin
$ ./io.sh &>/dev/null #标准输出和标准错误重定向到/dev/null设备
Linux shell脚本IO重定向相关推荐
- Linux Shell脚本入门教程系列之(十六) Shell输入输出重定向
本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...
- Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- linux运维实战练习及linux shell脚本、awk、sed工具命令学习总结
一.linux shell 脚本 1.描述shell程序的运行原理(可附带必要的图形说明): Linux系统的shell作为操纵系统的外壳,为用户提供使用操纵系统的接口.它是命令语言.命令解释程序及程 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- linux sh脚本 while,Linux shell脚本使用while循环执行ssh的注意事项
原标题:Linux shell脚本使用while循环执行ssh的注意事项 如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 一.场景还原 ...
- Linux shell脚本基础学习详细介绍(完整版)
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- linux shell 豆瓣,用Linux shell脚本爬取豆瓣邮箱
前两天总结一下邮箱格式的正则表达式,写了一个脚本来判断输入的邮箱地址是否符合邮箱的格式(有兴趣的朋友可以翻一下我的博客去看一下).在网上找资料的时候,发现基本都是用Python和Java来做爬虫,当然 ...
- Linux Shell脚本入门教程系列之(十五) Shell函数简介
本文是Linux Shell脚本系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 上一篇之后,函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰 ...
- Linux Shell脚本入门教程系列之(十一)Shell while循环
本文是Linux Shell脚本系列教程的第(十一)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 在上一篇Linux Shell系列教程之(十)Shell for循环中, ...
最新文章
- Python:Selenium和PhantomJS
- C++设计模式(转)
- 第六十三期:放下你手里的代码,小心被抓!
- 编程语言c 是什么意思,C/C++知识点之C语言中%*s,%*c 是什么意思
- 在javascript中调用java
- flask+socketio+echarts3 服务器监控程序(基于后端数据推送)
- 【量化】CSFB阿尔法多因子模型研究
- WebRAY网站检查技术支撑平台的实践
- 教程篇:《基础模块4》金蝶K3WISE15.0-客户端安装与卸载
- 在html中加入中文字体,css设置中文字体
- Unity 贴图Meta文件的探究
- SPIR-V教程 -- SPIRV变量
- 计算机网络 pan名词解释,计算机网络名词解释
- 初窥 RAP:如何使用 RAP 进行接口文档管理
- Demystifying Ethernet Types— Difference between Cat5e, Cat 6, and Cat7
- msf之使用震网三代来提权
- 【python】python 如何跳过异常继续执行
- 计算机毕业设计ssm科研成果管理系统设计与实现
- 启发式合并详解 (基于CF 1620E - Replace the Numbers)
- html汽车跑动特效,纯CSS3实现汽车行驶动画 特效源码!