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

Szybkie pytanko do fachowców od Bourne shella

8 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