Considere el siguiente nombre de script (ligeramente tonto) 'test1.sh':
#/bin/bash
#
sleep 10 &
echo sleep pid = $!
pkill sleep
Cuando lo ejecuto, obtengo no solo la salida del eco, sino el informe de bash de la muerte del sueño en stderr:
$ ./test1.sh
sleep pid = 3551
./test1.sh: line 5: 3551 Terminated sleep 10
En este caso, me gustaría suprimir la impresión a stderr. Sé que puedo hacerlo en la línea de comando, como en:
$ ./test1.sh 2> /dev/null
... pero ¿hay una manera de suprimir desde dentro de la secuencia de comandos? (Sé que podría envolverlo en un segundo script y hacer que el contenedor lo redirija, pero debe haber algo más fácil ...)