перенаправление stderr путем чтения файла [дубликат]

Ваша оболочка не остановилась, прогресс, который вы отправили в фоновый режим, остановился (процесс iex ). Если вы нажмете «Enter», вы получите ответное приглашение оболочки.

2
14.03.2018, 10:37
2 ответа

В этом случае используйтеcat:

var=$( cat somefile 2>/dev/null )

или сначала проверьте наличие файла:

if [ -f somefile ]; then
    var=$(<somefile)
fi

Во избежание состояния гонки в последнем примере (файл теоретически может исчезнуть между проверкой и чтением):

if cp somefile myname 2>/dev/null; then
    var=$(<myname)
    rm -f myname
fi

Следующее не будет работать:

var=$(<somefile) 2>/dev/null
var=$(<somefile 2>/dev/null)
4
27.01.2020, 21:53

Вы можете использовать:

{ var=$(<somefile); } 2> /dev/null
2
27.01.2020, 21:53

Теги

Похожие вопросы