Ecoando o número de pts do terminal em que você está executando?

2

Eu usei uma abordagem lenta, ou seja, executar

$ ps | grep bash | grep -oP '/[0-9]+' | grep -oP '[0-9]+'

Qual é a melhor maneira de realizar a mesma coisa?

    
por Garmekain 22.07.2018 / 21:14

2 respostas

2

Bem, você poderia simplesmente emitir:

tty

Exemplo:

$ tty
/dev/pts/0

E se você somente quiser o número do terminal, tente:

$ tty | grep -o '.$'
0

De man tty :

NAME
       tty  -  print  the file name of the terminal connected to
       standard input
    
por 22.07.2018 / 21:20
1

Esta solução tem a vantagem de gerar a string vazia e retornar a falha se o TTY não estiver no formato /dev/pts/### :

tty | grep -Po '(?<=^/dev/pts/)\d+$'
    
por 23.07.2018 / 01:11