我很难理解如何在 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
情况下使用它会使其更快,但我无法理解。我将不胜感激任何指向体面教程的链接。我的谷歌权力似乎让我失望。