系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux重定向数据流

Linux系统如何重定向数据流?(4)

时间:2015-09-08 15:08:21 作者:zhijie 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150908/57138.html 手机查看 评论

  4.永久重定向

  你应该可以看出我们前面的重定向操作都只是临时性的,即只对当前命令有效,那如何做到“永久”有效呢,比如在一个脚本中,你需要某一部分的命令的输出全部进行重定向,难道要让你在每个命令上面加上临时重定向的操作嘛,当然不需要,我们可以使用exec命令实现“永久”重定向。exec命令的作用是使用指定的命令替换当前的 Shell,及使用一个进程替换当前进程,或者指定新的重定向:

  # 先开启一个子 Shell

  $ zsh

  # 使用exec替换当前进程的重定向,将标准输出重定向到一个文件

  $ exec 1》somefile

  # 后面你执行的命令的输出都将被重定向到文件中,直到你退出当前子shell,或取消exec的重定向(后面将告诉你怎么做)

  $ ls

  $ exit

  $ cat somefile

Linux系统如何重定向数据流?

  5.创建输出文件描述符

  默认在 Shell 中可以有9个打开的文件描述符,上面我们使用了也是它默认提供的0,1,2号文件描述符,另外我们还可以使用3-8的文件描述符,只是它们默认没有打开而已,你可以使用下面命令查看当前 Shell 进程中打开的文件描述符:

  $ cd /dev/fd/;ls -Al

  同样使用exec命令可以创建新的文件描述符:

  $ zsh

  $ exec 3》somefile

  # 先进入目录,再查看,否则你可能不能得到正确的结果,然后再回到上一次的目录

  $ cd /dev/fd/;ls -Al;cd -

  # 注意下面的命令》与&之间不应该有空格,如果有空格则会出错

  $ echo “this is test” 》&3

  $ cat somefile

  $ exit

Linux系统如何重定向数据流?

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录