如果我的术语或语法不是很好(仍然在学习),请耐心等待。我目前有一个简单的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
答案 0 :(得分:0)
如果您想在脚本中,那么为什么不只是写入 标准输出和文件(在适当的地方使用追加?)。 也许更多的写作,但它提供了完全控制。
莱昂