Nel secondo metodo proposto da questa pagina , si ottiene il tty in cui viene eseguito bash con il comando:
ps ax | grep $$ | awk '{ print $2 }'
Ho pensato a me stesso che sicuramente questo è un po 'pigro, elencando tutti i processi in esecuzione solo per estrarne uno. Non sarebbe più efficiente (chiedo anche se questo introdurrebbe effetti indesiderati) per fare:
ps -p $$ | tail -n 1 | awk '{ print $2 }'
Cordiali saluti, mi sono imbattuto in questo problema perché a volte il primo comando avrebbe effettivamente prodotto due (o più) righe. Ciò accadrebbe in modo casuale, quando ci sarebbe un altro processo in esecuzione con un PID che contiene $$
come sottostringa. Nel secondo approccio, sto evitando questi casi richiedendo il PID che so di volere.
tty
comando all'interno della sessione bash. Se insisti nell'usareps
-ps -p $$ -o tty=