首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Bourne shell中捕获命令输出到文件描述符?

在Bourne shell中捕获命令输出到文件描述符,可以使用以下方法:

  1. 使用exec命令将命令输出重定向到文件描述符。例如,将命令输出重定向到文件描述符3:
代码语言:txt
复制
exec 3>&1

这将把文件描述符1(标准输出)复制到文件描述符3。

  1. 使用exec命令将命令输出重定向到文件描述符3:
代码语言:txt
复制
command_output=$(exec 3>&1; command 1>&3)

这将把命令的输出存储在变量command_output中。

  1. 使用exec命令将命令输出重定向到文件描述符3,并将其写入文件:
代码语言:txt
复制
exec 3>&1
command >&3 2>&1 | tee output.txt

这将把命令的输出写入文件output.txt,并将其输出到屏幕。

注意:在使用文件描述符时,需要确保文件描述符没有被占用。如果需要使用多个文件描述符,可以使用不同的数字。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【翻译】XV6-DRAFT as of September 3,2014 第0章 操作系统接口

    操作系统接口 操作系统的任务是让多个程序共享计算机(资源),并且提供一系列基于计算机硬件的但更有用的服务。操作系统管理并且把底层的硬件抽象出来,举例来说,一个文字处理软件(例如word)不需要关心计算机使用的是哪种类型的磁盘。操作系统使得硬件可以多路复用,允许许多程序共同使用计算机并且在同一时间上运行。最后,操作系统为程序间的互动提供受控的方法,因此多个程序可以共享数据、协同工作。 计算机操作系统通过接口向用户程序提供服务。设计一个好的接口是一件困难的事情。一方面,我们希望设计出来的接口足够简单且功能单一(

    06

    【Linux】基础IO --- 系统级文件接口、文件描述符表、文件控制块、fd分配规则、重定向…

    1.空文件也要在磁盘中占据空间,因为文件属性也是数据,保存数据就需要空间。 2.文件=内容+属性 3.文件操作=对内容的操作or对属性的操作or对内容和属性的操作 4.标识一个文件必须有文件路径和文件名,因为这具有唯一性。 5.如果没有指明对应的文件路径,默认是在当前路径下进行文件访问,也就是在当前进程的工作目录下进行文件访问。如果想要改变这个目录,可以通过系统调用chdir来改变。 6.在C语言中,调用fread、fwrite、fopen、fclose、等接口对磁盘中的文件进行操作,实际上必须等到代码和数据加载到内存中,变成进程之后,cpu读取进程对应的代码,然后操作系统才会对文件进行操作,而不是只要我们一调用文件操作的接口就会对文件操作,而是必须将这些接口加载到内存之后,才可以。 所以对文件的操作,本质上就是进程对文件的操作!!! 7.一个文件要被访问,必须先被打开。用户进程可以调用文件打开的相关函数,然后操作系统对磁盘上相应的文件进行处理。在磁盘上的文件可以分为两类,一类是被打开文件,一类是未被打开的文件。 8.所以,文件操作的本质就是进程和被打开文件的关系。

    03
    领券