我可以创建 BASH 函数来保存文本块,然后可以调用该函数输出到 FILE 和 SCREEN 以减少代码块重复

我可以创建 BASH 函数来保存文本块,然后可以调用该函数输出到 FILE 和 SCREEN 以减少代码块重复

我有一个 BASH 实用程序,它在运行时将测量结果实时输出到屏幕,同时将结果写入文件。我必须重复相同的代码两次(见下文)。

一旦写入屏幕,并且

一次写入文件。

对我来说这似乎是很多冗余。

我可以将一个文本块放入类似函数之类的东西中,然后调用它以同时写入屏幕和文件吗?

这将减少大量的重新键入。

下面的例子

###### write out to file : push end time at end ################
echo >> $file_name
echo "End time: "$end_time >> $file_name
echo >> $file_name
echo >> $file_name
echo >> $file_name

######  print to screen : push end time at end  #################

echo 
echo "End time: "$end_time 
echo
echo
echo

所以我会寻找这样的东西

funtion text_block{
######  print to screen : push end time at end  #################
echo 
echo "End time: "$end_time 
echo
echo
echo
}

然后是执行类似操作的命令

"command打印text_block到屏幕,打印text_block到文件”

答案1

您可以使用该实用程序tee

command | tee my_file.out  

这将写入文件名 my_file.out 并将其写入 stdout。

这篇文章来源自堆栈溢出

相关内容