Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Szybkie pytanko do fachowców od Bourne shella

10 views
Skip to first unread message

JDX

unread,
Jan 30, 2023, 4:56:00 AM1/30/23
to
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

unread,
Jan 30, 2023, 10:20:52 AM1/30/23
to
JDX <j...@onet.pl> wrote:

> 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

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

Możliwość 2: PIPESTATUS

[arnold@pi ~]$ false | true; echo ${PIPESTATUS[0]}
1
[arnold@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

unread,
Jan 30, 2023, 12:25:45 PM1/30/23
to
On 30.01.2023 16:20, Arnold Ziffel wrote:
> JDX <j...@onet.pl> wrote:
>
>> 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
[...]
> Możliwość 2: PIPESTATUS

Dzieki, działa.
0 new messages