Bash脚本:产生多个进程问题

Bash脚本:产生多个进程问题,bash,scripting,wait,backticks,Bash,Scripting,Wait,Backticks,所以我写了一个脚本来调用一个进程365次,它们应该分10批运行,所以这是我写的,但是有很多问题- 1.日志消息未写入日志文件,我在err文件中看到错误消息 2.有一个“Command not found”错误,我一直从行进程的脚本中得到。 3.即使命令没有成功,它也不会打印失败,而是打印成功 #!/bin/bash set -m FAIL=0 for i in {1..10} do waitPIDS=() j=$i while [ $j -lt 366 ]; do exec

所以我写了一个脚本来调用一个进程365次,它们应该分10批运行,所以这是我写的,但是有很多问题- 1.日志消息未写入日志文件,我在err文件中看到错误消息 2.有一个“Command not found”错误,我一直从行进程的脚本中得到。 3.即使命令没有成功,它也不会打印失败,而是打印成功

#!/bin/bash

set -m
FAIL=0

for i in {1..10}
do
  waitPIDS=()
  j=$i
  while [ $j -lt 366 ]; do

  exec 1>logfile
  exec 2>errorfile

 `process $j &`

  waitPIDS[${#waitPIDS[@]}]=$!
  j=$[$j+1]

done

for jpid in "${waitPIDS[@]}"
do
  echo $jpid
  wait $jpid
  if [[ $? != 0 ]] ; then
    echo "fail"
  else
    echo "success"
  fi
done

done
怎么了


谢谢

至少,这一行:

 `process $j &`
不应该有任何反勾。你可能只是想:

 process $j &

除此之外,您正在覆盖您的日志文件,而不是附加到它们;这是有意的吗?

至少,这一行:

 `process $j &`
不应该有任何反勾。你可能只是想:

 process $j &

除此之外,您正在覆盖您的日志文件,而不是附加到它们;是这样吗?

谢谢,是的,backtick是问题所在,但我认为bash脚本中的任何进程都应该在backtick下运行。是的,我忘了在日志中添加$j,因为我正在为每个实例创建一个日志。谢谢,是的,backtick是个问题,但是我认为bash脚本中的任何进程都应该在backtick下运行。是的,我忘记在日志中添加$j,因为我正在为每个实例创建日志。