如何并行运行shell脚本100次

时间:2012-06-19 10:34:15

标签: bash shell

我有以下for循环,使用客户参考和Du Id

处理100
echo SCRIPT: $0

# TEST.sh arguments
# $1 = Order Ref
# $2 = DU ID
# $3 = Service Level.
# $4 = PostCode, Example EAST 4600 WEST 6900.
# $5 = Weight, to test PD_MAXI-C.

echo "Enter Customer Order Ref (e.g. 20001000)"
read P_CUST_ORDER_REF
echo "Enter DU Id (e.g. 20001000)"
read P_DU_ID


echo "-------------------LOGISTICAPOST------------------"

set -vx
for i in {1..100}
do
  echo "This should return PD_PRIVATPAKKER_E"
  ./1161-I-007-Consignor_Performance_Test.sh ${P_CUST_ORDER_REF} ${P_DU_ID} LOGISTICAPOST 4600 5000 &

  (( P_CUST_ORDER_REF++ ))
  (( P_DU_ID++ ))
done

我试图让它并行运行100个实例并处理它们。但是当我运行这个脚本时,我得到了1个回复。应该发生的是它处理100个订单并将100个记录放入表中。我究竟做错了什么。

1 个答案:

答案 0 :(得分:2)

我认为GNU Parallel在这里可能有用。它允许您按照自己的意愿并行运行命令。请参阅man page,其中包含大量示例。