在 bash 脚本中循环启动缓存中的作业

问题描述 投票:0回答:1

我尝试启动多个实验,但我想将代码脚本保留在缓存中,以便任何更改都不会影响等待执行的实验。

我使用的bash脚本是:

for SIZE in 1 2 4 8 16; do
  python main.py $SIZE
done

我当前脚本的问题是,一旦我对代码文件进行更改

main.py
,等待执行的实验将使用修改后的
main.py
。例如,如果当前正在执行
python main.py 1
,则对
main.py
的任何更改都会影响
main.py 2
main.py 4
...有没有办法将
main.py
放入缓存中,以便对
main.py
的任何更改都不会影响影响
python main.py $SIZE

bash for-loop caching
1个回答
0
投票

实现您想要的操作的一种方法是将代码读入 Bash 变量并使用

-c
选项通过 Python 运行它。试试这个 Shellcheck - 干净的 Bash 代码:

#! /bin/bash -p

python_code=$(< main.py)

for size in 1 2 4 8 16; do
    python -c "$python_code" "$size"
done
© www.soinside.com 2019 - 2024. All rights reserved.