En el segundo método propuesto por esta página , se obtiene el tty en el que se ejecuta bash con el comando:
ps ax | grep $$ | awk '{ print $2 }'
Pensé para mí mismo que seguramente esto es un poco vago, enumerando todos los procesos en ejecución solo para extraer uno de ellos. ¿No sería más eficiente (también pregunto si esto introduciría efectos no deseados) para hacer:
ps -p $$ | tail -n 1 | awk '{ print $2 }'
Para su información, me encontré con este problema porque a veces el primer comando en realidad produciría dos (o más) líneas. Esto sucedería al azar, cuando habría otro proceso ejecutándose con un PID que contiene $$
como una subcadena. En el segundo enfoque, evito tales casos al solicitar el PID que sé que quiero.
tty
comando dentro de su sesión bash. Si insiste en usarps
-ps -p $$ -o tty=