BASH执行时将stdout保存到新文件

时间:2016-07-29 16:24:05

标签: linux bash exec stdout tee

如果我的术语或语法不是很好(仍然在学习),请耐心等待。我目前有一个简单的bash脚本,它检查命令的参数并输出带有匹配文本的文件名。我的脚本的这一部分通过grep命令正常工作,并通过管道传输到xargs以进行正确的格式化。

运行脚本时,我会运行一个简单的循环来检查值是否为null,然后转到运行我的变量/ search(如果没有)。

我的问题是:是否可以通过stdout输出此脚本并在每次使用用户输入和日期/时间运行时保存新文件? (但不是覆盖)EX:report-bob-0729161500.rpt

我看到了与命令一起使用tee的其他建议,但我试图让它在脚本中运行。类似地,另一个建议使用exec> >(tee -i logfile.txt),但我不确定如何正确格式化它,以便在每次执行脚本时将日期/时间和$ 1输入包含到新文件中。

任何帮助或建议的资源?

谢谢。

    SEARCH=`[search_variable]`                                                                  

    if [ -z "$SEARCH" ]                                                                               
    then                                                                                              
    echo "$1 not found."                                                                              
    else                                                                                              
    echo -e "REPORT LISTING\n\n"                                                                  
    echo "$SEARCH"                                                                                    
    fi  

编辑:我确实尝试将echo语句传递给tee命令,这确实有效。但是,如果有人有其他建议通过其他方法完成同样的任务,我仍然很好奇。谢谢。

将回声声明传送到发球台:

    SEARCH=`[search_variable]`                                                                  
    DATE=`date +"%m%d%y%k%M"`        

    if [ -z "$SEARCH" ]                                                                               
    then                                                                                              
    echo "$1 not found."                                                                              
    else                                                                                              
    echo -e "REPORT LISTING\n\n" | tee tps-list-$1-$DATE.rpt                                                               
    echo "$SEARCH" | tee tps-list-$1-$DATE.rpt                                                                                    
    fi  

1 个答案:

答案 0 :(得分:0)

如果您想在脚本中,那么为什么不只是写入 标准输出和文件(在适当的地方使用追加?)。 也许更多的写作,但它提供了完全控制。

莱昂