Bash 如何将stdin复制到两个文件中?
我需要有Bash 如何将stdin复制到两个文件中?,bash,unix,io,Bash,Unix,Io,我需要有script.sh,它将创建文件f1.txt和f2.txt,其中包含发送到stdin的内容。例如: echo ABRACODABRA | script.sh …应创建内容为ABRACODABRA的文件f1.txt和f2.txt 我该怎么做 请提供script.sh的正文 您需要tee $ echo 'foo' | tee f1.txt f2.txt 或 抑制对标准输出的额外输出 我猜你真正的问题可能是如何读取脚本中的输入。在这种情况下,请参阅。那会给你一些 while read i
script.sh
,它将创建文件f1.txt
和f2.txt
,其中包含发送到stdin的内容。例如:
echo ABRACODABRA | script.sh
…应创建内容为ABRACODABRA
的文件f1.txt
和f2.txt
我该怎么做
请提供
script.sh
的正文 您需要tee
$ echo 'foo' | tee f1.txt f2.txt
或
抑制对标准输出的额外输出
我猜你真正的问题可能是如何读取脚本中的输入。在这种情况下,请参阅。那会给你一些
while read input; do
echo $input | tee -a f1.txt > f2.txt
done
您的脚本可以如下所示:
#!/bin/bash
read msg
echo $msg > f1.txt
echo $msg > f2.txt
exit 0
如何在script.sh内部执行?与在外部执行的方式相同。我应该在script.sh内部编写什么?我将完全放弃while循环,只运行
teef1.text>f2.txt
(或类似)。我看不出在将shell传递给tee
@Patrick之前让shell读取STDIN有什么好处(这是bos上面说的:),因为某些原因,它没有满足OP。
#!/bin/bash
read msg
echo $msg > f1.txt
echo $msg > f2.txt
exit 0