我有2个脚本。 第一个脚本中的一行是
"...
./second_script >> $outputfile
..."
第二个脚本有很多计算和变量。现在,在某些时候,我需要使用我回应的所有内容 outputfile :
".....
echo $var1
echo $var2
.....
echo $var3
echo What I have echoed | script3
..."
我所回应的是 - $ var1 $ var2 $ var3
我该怎么做?
它是一个很大的代码,所以我不能为每一行做类似的事情
echo $var
echo $var >> tmp
我不能这样做也因为我喜欢2000 $ var($ var不是真正的变量,它更像是“grep ......”)
echo $var1 $var2 | script3
我需要以某种方式获取对内存/缓冲区中的内容的访问权限。
答案 0 :(得分:0)
尝试这样的事情:
{ echo $var1
echo $var2
echo $var3
...
} | script3
答案 1 :(得分:0)
将其添加到脚本的开头:
exec > >( tee tmp )
您写入标准输出的所有内容也将添加到文件“tmp”。
使用/bin/sh
,您需要模拟该过程。不能保证这是正确的:
# Create a named pipe to act as a buffer, and set up a background job
# that continuously duplicates whatever is written to it to both
# a regular file and standard output
mkfifo buffer
( tail -f buffer | tee tmp ) &
# Now, redirect standard output to the named pipe
exec > buffer