Mam prosty skrypt bash, który wykonuje wiele innych skryptów…
#/bin/bash
…
./update_artifact1.sh $ARTIFACT_VERSION
./update_artifact2.sh $ARTIFACT_VERSION
./update_artifact3.sh $ARTIFACT_VERSION
Problem polega na tym, że jeśli pierwsze (lub drugie) polecenie umrze z błędem, żadne z kolejnych poleceń nie zostanie uruchomione. Czy istnieje sposób na uruchomienie wszystkich trzech poleceń, zapisanie statusu wyjścia każdego z nich, a następnie zwrócenie pomyślnego statusu wyjścia, jeśli wszystkie trzy zostaną wykonane pomyślnie? Skrypty nie muszą działać jednocześnie.
cd /unknown_dir; echo ok
, polecenie echa zostanie wykonane, nawet jeśli cd nie powiedzie się. Dlaczego 2. i 3. polecenie nie działają w twoim skrypcie? Czy set -e
włączyłeś? Czy 2. i 3. polecenie polegają na czymś, co zapewnia 1.? Czy wystąpił jakiś błąd? Musisz podać więcej informacji.