gpt4 book ai didi

shell - heredoc、重定向和文件描述符

转载 作者:行者123 更新时间:2023-12-05 01:47:02 33 4
gpt4 key购买 nike

我知道这里有很多关于 heredocs 以及重定向和文件描述符的帖子,但我似乎找不到与我想做的事情相关的任何内容。

我想打开一个文件描述符到一个文件,然后将 heredoc 写入该文件描述符。

这是我使用 bash shell 的结果:

exec 3>/tmp/testfile.txt
cat <<EOF>>3
write to fd using heredoc
EOF

我检查了我的文件,发现它是空的。我假设它是空的,因为在 heredoc 中对我的文件描述符的引用转到了位桶。我尝试使用像这样的符号 & EOF>>&3 但这会在 shell 中引发错误。

我怎样才能做到这一点?

最佳答案

如果你写:

echo something >> 3

这将创建一个名为 3文件。如果要引用文件描述符,则需要使用 &3 语法。如果你想使用文件描述符附加到文件,你可以这样做:

exec 3>>/tmp/testfile.txt
cat <<EOF >&3
This is a test.
EOF

也就是说,当您使用 exec 语句打开文件描述符时,您决定追加还是覆盖。如果您改为这样做:

exec 3>/tmp/testfile.txt

这将覆盖文件而不是附加到文件。

关于shell - heredoc、重定向和文件描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31861500/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com