相关疑难解决方法(0)

文件描述符和 shell 脚本

我很难理解如何在 shell 脚本中使用文件描述符。

我知道基础知识,例如

exec 5 > /tmp/foo
Run Code Online (Sandbox Code Playgroud)

所以 fd 5 附加到 foo 用于写入。

exec 6 < /tmp/bar
Run Code Online (Sandbox Code Playgroud)

……阅读。

exec 5>&-
Run Code Online (Sandbox Code Playgroud)

...关闭fd。

这有什么作用呢?

#!/bin/bash

exec 5 > /tmp/foo 
exec 6 < /tmp/bar 

cat <&6 | while read a
do
     echo $a >&5
done
Run Code Online (Sandbox Code Playgroud)

据我所知,&5关闭了 fd,那么每次调用后输出仍然如何成功重定向?

这是复制意大利面来自:这里

它声称在简单的echo $a > file情况下使用它会使其更快,但我无法理解。我将不胜感激任何指向体面教程的链接。我的谷歌权力似乎让我失望。

bash io-redirection shell-script file-descriptors

35
推荐指数
1
解决办法
5万
查看次数