Запускать ненулевой код выхода, когда я выхожу из цикла

Утилита дерева в настоящее время не поддерживает сортировку по размеру.

2
28.01.2017, 00:23
2 ответа

Мое воображаемое решение:

run_til_failure() {
  local didBreak=0
  for task in [TASKS]; do
    process "$task" || { didBreak=1; break; }
    commit "$task"
  done
  local loopExit=$?
  if (( loopExit )); then return $loopExit; fi
  return $didBreak
}
0
27.01.2020, 22:03

Вы можете сделать что-нибудь вроде

failed=false
for task in "${tasks[@]}"; do
  if ! process "$task"; then
      failed=true
      break
  fi
  commit "$task"
done

if "$failed"; then
   echo "Failed something" >&2
fi
1
27.01.2020, 22:03

Теги

Похожие вопросы