gpt4 book ai didi

linux - 将并行进程 bash 脚本输出重定向到单个日志文件

转载 作者:行者123 更新时间:2023-12-04 19:35:49 25 4
gpt4 key购买 nike

我有一个要求,我需要将多个参数传递给脚本以触发每个参数的并行处理。现在我需要在单独的日志文件中捕获每个进程输出。

for arg in test_{01..05} ; do bash test.sh "$arg" & done
以上代码只能对输入参数进行并行处理。我试过 exec > >(tee "/path/of/log/$arg_file日期 +%Y%m%d%H .log") 2>&1它能够创建带有空输出的日期的单个日志文件名。有人可以建议这里出了什么问题,或者除了使用 parallel package 之外是否还有其他最佳方法?

最佳答案

尝试:

data_part=$(date +%Y%m%d%H)
for arg in test_{01..05} ; do bash test.sh "$arg" > "/path/to/log/${arg}_${data_part}.log" & done

If i use "$arg_date +%Y%m%d%H.log" it is creating a file with just date without arg


是的,因为 $arg_被解析为变量名
arg_=blabla
echo "$arg_" # will print blabla
echo "${arg_}" # equal to the above
分开 _来自 arg使用大括号 "${arg}_"将扩展变量 arg并添加字符串 _ .

关于linux - 将并行进程 bash 脚本输出重定向到单个日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63133314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com