首页 > 解决方案 > 如何使用包含参数数组的 for 循环运行 shell 脚本,每个命令都应在 ubuntu 的新终端窗口中运行

问题描述

这是我的shell脚本代码。

#!/bin/bash

declare -a my_array;
my_array=("arg1" "arg2" "arg3" "arg4" "arg5");

for i in "${my_array[@]}"; do
    gnome-terminal -x;
    cd /home/XXX/Documents/testing ;
    conda activate env1;
    python3 Parallel.py "$i" &
done

我正在尝试运行位于测试文件夹中的程序 Parallel.py,每次都使用不同的参数。每次都应该弹出一个新的终端窗口并运行新命令。例如,第一个终端窗口应该运行:

cd /home/XXX/Documents/testing
conda activate env1
python3 Parallel.py arg1

那么下一个应该去

cd /home/XXX/Documents/testing
conda activate env1
python3 Parallel.py arg2

但所有窗口都应保持打开并并行运行命令。现在我得到的是一个窗口正在运行所有命令。

标签: pythonbashshellubuntuarguments

解决方案


推荐阅读