No segundo método proposto por esta página , obtém-se o tty no qual o bash está sendo executado com o comando:
ps ax | grep $$ | awk '{ print $2 }'
Eu pensei comigo que certamente isso é um pouco preguiçoso, listando todos os processos em execução apenas para extrair um deles. Não seria mais eficiente (também estou perguntando se isso apresentaria efeitos indesejados):
ps -p $$ | tail -n 1 | awk '{ print $2 }'
Para sua informação, deparei-me com esse problema porque, às vezes, o primeiro comando produzia duas (ou mais) linhas. Isso aconteceria aleatoriamente, quando houvesse outro processo em execução com um PID que contenha $$
como substring. Na segunda abordagem, evito esses casos solicitando o PID que sei que quero.
tty
comando na sua sessão do bash. Se você insistir em usarps
-ps -p $$ -o tty=