shell脚本学习总结01--文件描述符和重定向
文件描述符是与文件输入和输出的相关联的整数,它们用来追踪已打开的文件,文件描述符0,1,2是系统预留的。
0 --> stdin (标准输入)
1 --> stdout (标准输出)
2 --> stderr (标准错误)
$ echo a1>a1
$ cp a1 a2;cp a2 a3
$ cat a*
cat: a1: Permission denied
a1
a1
将0定向到std.txt,将2定向到err.txt
$ cat a* >std.txt 2>err.txt
将0和1都定向到out.txt
$ cat a* >out.txt 2>&1.txt
tee命令
将stdin重定向到文本中并且在屏幕打印出来。
$ cat a*|tee out.txt
cat: a1: Permission denied
a1
a1
$ cat out.txt
a1
a1
注意:out.txt并不包含“cat: a1: Permission denied”,因为它只能从stdin中进行读取。
默认的tee命令会将文件覆盖,但提供一个-a的选项用于追加。
$ cat a*|tee -a out.txt 重定向脚本内部的文本块
#/bin/bash
sqlplus /nolog <<EOF >log.txt
conn scott/tiger
select * from cat;
commit;
exit
EOF
<<EOF >log.txt和EOF之间的内容会被当做stdin,stdout会被重定向到log.txt。
自定义文件描述符
- 创建一个文件描述符用于写入
$ exec >output.txt
$ echo newline >&
$ cat output.txt
newline
- 创建一个文件描述符用于读取
$ echo hello >input.txt
$ exec <input.txt
$ cat <&
hello
shell脚本学习总结01--文件描述符和重定向的更多相关文章
- 自学Linux Shell14.2-在脚本中使用其他文件描述符
点击返回 自学Linux命令行与Shell脚本之路 14.2-在脚本中使用其他文件描述符 在脚本中重定向输入和输出,并布局限于以上讲的3个默认的文件描述符,shell最多可以有9个打开的文件描述符.这 ...
- 玩转Linux文件描述符和重定向
本文介绍linux中文件描述符与重定向的相关知识,文件描述符是与文件输入.输出相关联的整数,它们用来跟踪已打开的文件.有需要的朋友参考下. 原文出处:http://www.jbxue.com/arti ...
- Linux文件描述符与重定向
文件描述符可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 当Linux启动的时候会默认打开三个文件描述符,分别是: 标 ...
- Linux系统学习笔记:文件描述符标志
文件描述符标志的概念 文件描述符标志(目前就只有一个close-on-exec): 它仅仅是一个标志,当进程fork一个子进程的时候,在子进程中调用了exec函数时就用到了这个标志.意义是执行exec ...
- shell文件描述符和重定向
1.文件描述符是与一个打开的文件或数据流相关联的整数.文件描述符0,1,2是系统预留的. 0 --------stdin(标准输入) 1 --------stdout(标准输出) 2--------- ...
- shell脚本学习之6小时搞定(6)-重定向及其他
shell学习之-重定向及其他 目录 shell学习之-重定向及其他 1.输出重定向 2.输入重定向 3.重定向深入讲解 4./dev/null 文件 5.awk Unix 命令默认从标准输入设备(s ...
- linux专题一之文件描述符、重定向、管道符、tee命令
本节讨论一下几个问题: 1. 文件描述符. 2. 重定向. 3. 管道符 4. tee的用法. 1. 文件描述符. 在linux系统中一切皆文件.文件夹和设备都是文件.如何用来区别不同的文件呢?这里的 ...
- Linux 文件描述符和重定向
200 ? "200px" : this.width)!important;} --> 介绍 文件描述符是与文件输入.输出相关联的整数,在编写脚本时会经常使用标准的文件描述符 ...
- 【Linux】文件描述符与重定向
重定向符号 符号 描述 > 输出重定向到一个文件或设备 覆盖原来的文件 >! 输出重定向到一个文件或设备 强制覆盖原来的文件 >> 输出重定向到一个文件或设备 追加原来的文件 ...
随机推荐
- Ubuntu8.04系列-系统优化篇
文章欢迎转载,转载请注明出处:嘉骏苑http://luckiss.blogcn.com 原文出处:http://luckiss.blogcn.com/diary,15151058.shtml ...
- Python图像处理(14):神经网络分类器
快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在opencv中支持神经网络分类器.本文尝试在python中调用它. 和前面的贝叶斯分类器一样.神 ...
- USES_CONVERSION的使用和注意
USES_CONVERSION是用来转换类型的,比如我们很常见的问题: 在Socket编程时候,我们的IP地址从界面上输进去一般都使用CString类型的,可是在SOCKADDR_IN中的inet_a ...
- C# BackgroundWorker的Bug???
废话不多说,上代码: public partial class Form1 : Form { BackgroundWorker _bgWorker; int count; public Form1() ...
- unity, imageEffect在android上不显示的问题
使用imageEffect做了个景深特效,原理很简单,就是一张清晰大图和一张模糊小图根据z值进行混合,z值小的像素清晰大图的比例高一些,z值大的像素模糊小图的比例高一些. 在pc上是ok的,但打出an ...
- PHP设计模式系列 - 观察者模式处理订单(异步操作附加功能)
观察者模式 观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性.观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码 ...
- shell 基础语法
shell 基础语法 =============================================== 推荐:http://c.biancheng.net/cpp/shell/ ==== ...
- (Xilinx)FPGA中LVDS差分高速传输的实现
https://wenku.baidu.com/view/24e8bad86f1aff00bed51ef8.html
- pcie dma的玩法
There is some issue with the implement script. So I took the manual steps. 1. Created the pcie core ...
- 466. Count Linked List Nodes【Naive】
Count how many nodes in a linked list. Example Given 1->3->5, return 3. 解法一: /** * Definition ...