`

使用文件描述符进行输入,输出重定向

 
阅读更多

先看输入重定向,假设我们使用文件描述符3进行输入重定向:

 

1)把文件描述符3和标准输入stdin(文件描述符为0)关联起来,执行下面的命令之后,所有键盘和鼠标的输入都被重定向到文件描述符3

     exec 3<&0

 

2) 把标准输入stdin重定向到文件,执行下面的命令后,所有的输入都会从$INFILE中读取

     exec 0< $INFILE

 

3)恢复标准输入,即仍然用文件描述符0表示标准输入

     exec 0<&3

 

4)关闭文件描述符3

    exec 3>&-

 

 

来看一个例子:

 

exec 3<&0

exec 0< $INFILE

 

while read line; do

    echo $line > $OUTFILE

done

 

exec 0<&3

exec 3>&-

 

同样的,用下面的方法可以把文件描述符4和标准输出关联起来。

 

 

1)把文件描述符4和标准输出stdout(文件描述符为1)关联起来,执行下面的命令之后,所有标准输出都被重定向到文件描述符4

     exec 3<&1

2) 把标准输出stdout重定向到文件,执行下面的命令后,所有的标准输出都会到$OUTFILE中读取

     exec 1> $OUTFILE

3)恢复标准输出,即仍然用文件描述符1表示标准输出

     exec 1<&4

4)关闭文件描述符4

    exec 4>&-

 

来看一个例子:

 

exec 4<&1

exec 1< $OUTFILE

 

while read line; do

    echo $line

done < $INFILE

 

exec 1<&4

exec 4>&-

分享到:
评论

相关推荐

    输入输出重定向

    文件描述符 标准输出 0 标准输入 1 标准错误 2 对于输入重定向来讲,用到的符号及其作用如下表所示: 符号 作用 命令1 &gt; 文件 将标准输出重定向到一个文件中 命令 2&gt; 文件 将错误输出重定向...

    Shell 输入/输出重定向

    Shell 输入/输出重定向 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端。一个命令通常从一个叫标准输入的地方读取输入...将文件描述符为 n 的文件重定向到 file。 n &gt;&gt; file 将文件描

    Linux输入输出重定向详细使用说明

    文件描述符 类型 符号表示 键盘 /dev/stdin 0(缺省是键盘,为0时是文件或者其他命令的输出) 标准输入 &lt; &lt;&lt; 显示器 /dev/stdout 1(缺省是屏幕,为1时是文件) 标准输出 &gt; &gt;&gt; 显示器 /dev/stderr 2...

    linux输入输出重定向使用详解

    把标准输出重定向到文件 代码如下:[~]# echo “hello” &gt; test.sh[~]# cat test.shhello‘&gt;’输出方式默认等价’1&gt;’[~]# echo “hello” 1&gt; test.sh[~]# cat test.sh hello 但是错误内容还是会显示在屏幕上: 代码...

    Linux基础命令学习——重定向与管道符(五)

    标准输出重定向:stdout,文件描述符为1,默认输出到屏幕; 错误输出重定向:stderr,文件描述符为2,默认输出到屏幕; 输入重定向 1、使用重定向命令把readme.txt文件导入给wc -l命令,统计一下

    Linux base shell重定向详解

    在linux shell执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名: 文件 文件描述符 输入文件—标准输入 0(缺省是...

    Shell脚本学习笔记

    4.5.4 创建读取/写入文件描述符 91 4.5.5 关闭文件描述符 92 4.5.6列出开发文件描述符 92 4.5.7禁止命令输出 94 4.6 使用临时文件 94 4.6.1 创建本地临时文件 94 4.6.2 在/temp中创建临时文件 95 4.6.3 创建临时目录...

    FourOneLab#way-to-unicorn#07-Shell重定向1

    0 是一个文件描述符,表示标准输入(stdin)1 是一个文件描述符,表示标准输出(stdout)2 是一个文件描述符,表示标准错误(stderr)在标准情况下

    边干边学Linux__第二版_doc格式

    6.8 使用文件描述符 6.9 输入和输出重定向的组合使用 6.10 管道(pipe) 第7章 C语言开发工具 7.1 编写程序的工具 7.2 编C语言程序 7.3 make工具 7.4 gdb调试工具 第8章 Bourn Again Shell编程 8.1 bash脚本的建立...

    nohup命令 后端运行程序

    nohup命令的全称为“no hang up”,该命令...如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。 语法格式:nohup [参数] 常用参数: –help 在线帮助 –v

    15呈现数据

    一.理解输入和输出  至此你已经知道了两种显示脚本输出的方法:   在显示器屏幕上显示输出 ...Linux用文件描述符(file descriptor)来标识每个文件对象。文件描述符十个非负整数,可以唯一标识会话中打开的文件。

    LINUX与UNIX SHELL编程指南

    目录回到顶部↑目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 ...5.11 使用文件描述符 44 5.12 小结 45 第6章 命令执行顺序 46 6.1 使用&& 46 6.2 使用

    Linux shell 编程

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员...5.11 使用文件描述符 44 5.12 小结 45 ... ...

    shell 1filename重定向的含义和区别

    0 是一个文件描述符,表示标准输入(stdin) 1 是一个文件描述符,表示标准输出(stdout) 2 是一个文件描述符,表示标准错误(stderr) 在标准情况下, 这些FD分别跟如下设备关联: stdin(0): keyboard 键盘输入,并返回在...

    Linux的常用命令cat、sed、zip等用法,以及shell编程的基本语法,以及makefile编写方式等等

    3.lvim工作方式、gcc、gdb用法、动态库和静态库的制作与使用、makefile的编写语法,以及makefile里面的模式匹配、函数、伪目标等知识,以及文件描述符、文件操作(open、close、lseek、stat、dup等语法) 3.进程:进程...

    Linux与unix shell编程指南

    5.11 使用文件描述符 44 5.12 小结 45 第6章 命令执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50...

Global site tag (gtag.js) - Google Analytics