你好
我开发了一个程序,可以使用标志将不同类型的数据输出到不同的文件,例如:
$ ./program -csv file.csv -log file.log -out out.txt -result result.txt ...
在这种情况下, csv 输出应保存在文件file.csv
上,日志保存到file.log
,依此类推。我想要一种方法将输出直接保存到 bash 变量,以便稍后在脚本上使用它。例如:
$ ./program -csv $(write to csv_var) \
-log $(write to log_var) \
-out $(write to out_var) \
-result $(write to result_var) \
...
因此,当我调用echo ${csv_var}
时,我希望看到程序的 csv 输出。同样应该发生在log_var
,out_var
,result_var
等处。我该怎样做?
我考虑过为每个变量手动创建一个临时文件,将输出保存到文件并将其读回,但我正在寻找更清洁的东西,如上例所示(想象一下程序运行的很多实例)并行,一些文件可能会覆盖其他文件)。此外,重要的是变量数据仅在脚本运行时存在,在上面的“解决方案”中,如果我终止脚本,临时文件/文件夹将继续存在。
提前致谢