无法通过终端在 shell 脚本中并行执行命令
not able to execute commands in parallel in shell script through terminal
我正在尝试使用 &
并行执行以下命令
ENV=prod npm run SettingsSuite -- --runid Prod_E2E_$BUILD_NUMBER --APPNAME Prod_E2E --squad ops --track coreServices; echo $? >> "$log_file" &
ENV=prod npm run InventorySuite -- --runid Prod_E2E_$BUILD_NUMBER --APPNAME Prod_E2E --squad ops --track coreServices; echo $? >> "$log_file" & wait
但每次 运行 都是按顺序进行的。我的要求是我需要 运行 并行执行多个命令并将每个命令的退出代码存储在日志文件中。
因为那里有一个分号,所以后台只有回显命令 运行。您需要使用一些分组括号:
(ENV=prod npm run SettingsSuite -- --runid Prod_E2E_$BUILD_NUMBER --APPNAME Prod_E2E --squad ops --track coreServices; echo $? >> "$log_file") &
(ENV=prod npm run InventorySuite -- --runid Prod_E2E_$BUILD_NUMBER --APPNAME Prod_E2E --squad ops --track coreServices; echo $? >> "$log_file") &
wait
我正在尝试使用 &
并行执行以下命令ENV=prod npm run SettingsSuite -- --runid Prod_E2E_$BUILD_NUMBER --APPNAME Prod_E2E --squad ops --track coreServices; echo $? >> "$log_file" &
ENV=prod npm run InventorySuite -- --runid Prod_E2E_$BUILD_NUMBER --APPNAME Prod_E2E --squad ops --track coreServices; echo $? >> "$log_file" & wait
但每次 运行 都是按顺序进行的。我的要求是我需要 运行 并行执行多个命令并将每个命令的退出代码存储在日志文件中。
因为那里有一个分号,所以后台只有回显命令 运行。您需要使用一些分组括号:
(ENV=prod npm run SettingsSuite -- --runid Prod_E2E_$BUILD_NUMBER --APPNAME Prod_E2E --squad ops --track coreServices; echo $? >> "$log_file") &
(ENV=prod npm run InventorySuite -- --runid Prod_E2E_$BUILD_NUMBER --APPNAME Prod_E2E --squad ops --track coreServices; echo $? >> "$log_file") &
wait