Quiero un script para redirigir stdin y stderr a un archivo, hacer un montón de cosas, luego deshacer esas redirecciones y tomar medidas sobre el contenido del archivo. Estoy tratando:bash: cómo redirigir stdin/stderr y luego revertir fd's?
function redirect(){
exec 3>&1
exec 4>&2
exec 1>outfile 2>&1
}
function undirect(){
exec 1>&3
exec 2>&4
}
echo first
redirect
echo something
cat kjkk
undirect
if some_predicate outfile; then echo ERROR; fi
Lo que parece hacer lo que quiero, pero parece bastante complejo. ¿Hay una forma más limpia/clara de hacer esto?
o incluso en el shell actual: '{echo algo; gato afile; }> archivo de salida 2> & 1' –
@glenn; derecho. el primero podría ser así, probablemente también mejor ... editaré – falstro