перенаправление сообщений об ошибках в сценарии bash

Я использую сервер с PBS. я тестирую его с

echo sleep 10 | qsub

На данный момент есть проблема с сервером и возвращается сообщение об ошибке. Перенаправляя это сообщение об ошибке

echo sleep 10 | qsub 2>&1

ничего не будет напечатано.

Теперь я хотел бы поместить это в сценарий оболочки и сохранить вывод в переменной:

out=`echo sleep 10 | qsub 2>&1`

Однако, хотя я перенаправляю сообщение об ошибке с помощью 2>&1, переменная out по-прежнему содержит сообщение об ошибке. Что я делаю не так?


person pawel_winzig    schedule 05.04.2013    source источник


Ответы (1)


2>&1 — фактически перенаправляет STDERR на STDOUT.

Вам нужно 2>/dev/null

out=`echo sleep 10 | qsub 2>/dev/null`
person Rawkode    schedule 05.04.2013