Преобразование моего комментария в ответ в соответствии с предложением.
Этот скрипт пытается выполнить команду npm test
максимум 5 раз и завершается со статусом выхода npm
при первом успехе или 5 неудачах.Для каждой неудачной попытки он спит в течение 1
секунды до следующей попытки.
Этот сценарий может быть переписан как (для понимания):
for ((i=1; i<=5; i++)); do
if npm test; then
s=0
break
else
s=$?
sleep 1
fi
done
exit $s