在Bash中,如何找到最小编号的未使用的文件描述符?
发布时间:2020-12-15 16:13:14 所属栏目:安全 来源:网络整理
导读:在Bash脚本中,是否可以在“尚未使用的编号最小的文件描述符”上打开文件? 我已经找到了如何做到这一点,但似乎Bash总是要求你指定的数字,例如。喜欢这个: exec 3 /path/to/a/file # Open file for reading on file descriptor 3. 相比之下,我想能够做一
在Bash脚本中,是否可以在“尚未使用的编号最小的文件描述符”上打开文件?
我已经找到了如何做到这一点,但似乎Bash总是要求你指定的数字,例如。喜欢这个: exec 3< /path/to/a/file # Open file for reading on file descriptor 3. 相比之下,我想能够做一些事情 my_file_descriptor=$(open_r /path/to/a/file) 这将打开“文件”以读取尚未使用的编号最小的文件描述符,并将该编号分配给变量“my_file_descriptor”。
我知道这个线程是老的,但相信最好的答案是缺少,并将对那些来到这里寻找解决方案的人有用。
Bash和Zsh内置的方式来找到未使用的文件描述符,而不必编写脚本。 (我发现没有这样的事情破折号,所以上面的答案可能仍然有用。) 注意:这找到最低的未使用文件描述符> 10,不是最低的整体。 $ man bash /^REDIRECTION (paragraph 2) $ man zshmisc /^OPENING FILE DESCRIPTORS 示例使用bsh和zsh。 打开一个未使用的文件描述符,并将编号分配给$ FD: $ exec {FD}>test.txt $ echo line 1 >&$FD $ echo line 2 >&$FD $ cat test.txt line 1 line 2 $ echo $FD 10 # this number will vary 完成后关闭文件描述符: $ exec {FD}>&- 下面显示文件描述符现在已关闭: $ echo line 3 >&$FD bash: $FD: Bad file descriptor zsh: 10: bad file descriptor (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |