gpt4 book ai didi

bash - 在 bash 或 shell 中,如何在不创建临时文件的情况下将一行文本作为文件输入?

转载 作者:行者123 更新时间:2023-11-29 09:23:38 25 4
gpt4 key购买 nike

问题一:

我使用的是自制命令,由于某些原因无法更改。该命令需要一个文件名,它将像这样读取:read-cmd "testtext.txt"我知道使用输入重定向可以将文件用作某些命令的输入流,例如some-cmd < "text.txt" ,但我想知道是否相反,我是否可以使用一行文本并让 bash 相信它是一个文件,这样我就可以做 read-cmd "contents of what should be in a text file"

我唯一能做的就是

Example 1:
echo "contents of what should be in a text file" > tmptextfile
read-cmd "tmptextfile"
rm tmptextfile

但是,我真的宁愿不这样做,而只是将该行流式传输,就好像它是一个文件一样。有没有可能的方法来做到这一点,或者它会完全依赖于如何 read-cmd有用吗?

问题2:

然而,一个非常相似的问题是,文件不是命令的输入,而是命令的选项 的输入。所以,read-cmd2 -d "testtext.txt" ...

Example 2:
echo "contents of what should be in options text file" > tmpoptfile
read-cmd2 -d tmpoptfile ...
rm tmpoptfile

最佳答案

whether I can use a line of text and make bash believe it's a file,

是的,您可以使用 process substitution为此:

read-cmd <(echo "contents of what should be in a text file")

进程替换是一种重定向形式,其中进程的输入或输出(一些命令序列)显示为临时文件。

关于bash - 在 bash 或 shell 中,如何在不创建临时文件的情况下将一行文本作为文件输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27863417/

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