freopen
решает легкую часть. Имение в наличии старого stdin не трудно, если Вы ничего не считали и если Вы готовы использовать системные вызовы POSIX как dup
или dup2
. Если Вы запускаетесь для чтения из него, все ставки выключены.
, Возможно, можно ли сказать нам контекст, в котором происходит эта проблема?
я поощрил бы Вас придерживаться ситуаций, где Вы готовы отказаться старый stdin
и stdout
и можете поэтому использовать freopen
.
git show-branch <BRANCH-NAME> &>/dev/null && echo yes || echo no