Discussion:
Szybkie pytanko do fachowców od Bourne shella
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
JDX
2023-01-30 09:55:56 UTC
Permalink
Mam w skrypcie taką komendę w celu logowania komunikatów make'a do pliku
i na konsolę:

make 2>&1 | tee buildlog.txt

Jak z powyższej linii wydobyć kod zwracany przez make, aby obsłużyć
zdarzenia „kompilacja powiodła się” i „kompilacja nie powiodła się”? Bo
wygląda na to, że $? zwraca kod z tee.
Arnold Ziffel
2023-01-30 15:20:51 UTC
Permalink
Post by JDX
Jak z powyższej linii wydobyć kod zwracany przez make, aby obsłużyć
zdarzenia ,,kompilacja powiodła się" i ,,kompilacja nie powiodła się"? Bo
wygląda na to, że $? zwraca kod z tee.
Możliwość 1: set -o pipefail

[***@pi ~]$ false | true; echo $?
0
[***@pi ~]$ set -o pipefail
[***@pi ~]$ false | true; echo $?
1

Możliwość 2: PIPESTATUS

[***@pi ~]$ false | true; echo ${PIPESTATUS[0]}
1
[***@pi ~]$ true | true; echo ${PIPESTATUS[0]}
0
--
Babcia do wnuka który bawi się telefonem:
- Wnusiu twoje pokolenie to jest uzależnione od technologii!
A na to wnuczek:
- Nie, nie babciu. To twoje pokolenie jest uzależnione od technologii -
powiedział odłączając wtyczkę respiratora.
JDX
2023-01-30 17:25:40 UTC
Permalink
Post by Arnold Ziffel
Post by JDX
Jak z powyższej linii wydobyć kod zwracany przez make, aby obsłużyć
zdarzenia ,,kompilacja powiodła się" i ,,kompilacja nie powiodła się"? Bo
wygląda na to, że $? zwraca kod z tee.
Możliwość 1: set -o pipefail
[...]
Post by Arnold Ziffel
Możliwość 2: PIPESTATUS
Dzieki, działa.

Loading...