Bash Jak przechwycić stderr do zmiennej?Bash Jak przechwycić stderr do zmiennej?
chciałbym zrobić coś takiego wnętrza mojego skryptu bash
sh -c path/myExcecutable-bin 2>&1 =MYVARIABLE
Jak wysłać wyjście stderror do zmiennej?
Bash Jak przechwycić stderr do zmiennej?Bash Jak przechwycić stderr do zmiennej?
chciałbym zrobić coś takiego wnętrza mojego skryptu bash
sh -c path/myExcecutable-bin 2>&1 =MYVARIABLE
Jak wysłać wyjście stderror do zmiennej?
Aby zaoszczędzić stdout
istderr
do zmiennej:
MYVARIABLE="$(path/myExcecutable-bin 2>&1)"
Zauważ, że ten przeplata stdout i stderr do tej samej zmiennej.
Aby zapisać tylkostderr
do zmiennej
MYVARIABLE="$(path/myExcecutable-bin 2>&1 > /dev/null)"
Po prostu chcę zauważyć, że zachowasz zarówno stderr, jak i stdout do zmiennej. Gdy potrzebujesz tylko 'stderr' użyj' 2> & 1>/dev/null' –
@IgorChubin Dobra uwaga. Opierałem swoją oryginalną odpowiedź na tym, jak to wyglądało, co OP chciał zrobić, ale niekoniecznie to, czego oni naprawdę chcieli. Zobacz moje zmiany. –
Całkiem pewne, że powinno to być "' stdout' _ and_ 'stderr'", nie? –
ten StackOverflow [wątku] (http://stackoverflow.com/questions/962255/how-to-store-standard-error-in- a-variable-in-a-bash-script) powinien odpowiedzieć na twoje pytanie. –
Zobacz jeden z wielu powiązanych wątków i [kilka rozwiązań] (http://mywiki.wooledge.org/BashFAQ/002) – ormaaj