一、编写shell文件
假设我这里需要重复跑 testt.py 每次只需要改变传参
新建 shell 文件 命名为 my_shell.sh
1.编写shell脚本如下(作用:顺次保存每个python运行结果到文件中)
#!/bin/bash
commands=(
"python testt.py --graph_dir './h5/var20_purity/purity_0.6'"
"python testt.py --graph_dir './h5/var20_purity/purity_0.65'"
)
output_files=(
"./var20_purity_out/var20_purity0.6.txt"
"./var20_purity_out/var20_purity0.65.txt"
)
# for cmd in "${commands[@]}"; do
# $cmd
# done
for i in "${!commands[@]}"; do
echo "Executing command: ${commands[$i]}"
eval "${commands[$i]}" | tee "${output_files[$i]}"
done
2.编写shell脚本如下(作用:需要把所有结果集中输出到某一个文件时)
#!/bin/bash
commands=(
"python testt.py --graph_dir './h5/var20_purity/purity_0.6'"
"python testt.py --graph_dir './h5/var20_purity/purity_0.65'"
)
output_files=(
"./var20_purity_out/var20_purity0.6.txt"
"./var20_purity_out/var20_purity0.65.txt"
)
# for cmd in "${commands[@]}"; do
# $cmd
# done
# 创建 example.txt 文件并清空内容
echo "" > h5_reault.txt
for i in "${!commands[@]}"; do
echo "Executing command: ${commands[$i]}"
eval "${commands[$i]}" | tee -a h5_reault.txt "${output_files[$i]}"
done
二、运行shell的命令
bash my_shell.sh > output.txt 2>&1 &
这样就可以在output.txt 中查看在运行哪一条命令了,如果你想直接控制台看运行到哪一条直接bash my_shell.sh
如果报格式错误,运行以下命令来修复换行符格式:
sed -i 's/\r$//' run_commands.sh