Como fazer o trabalho 'tty' no .bash_profile

0

Eu tenho o seguinte no meu ~/.bash_profile para tentar fazer o GPG funcionar bem:

export GPG_TTY="'tty'"

Mas quando eu abro um novo shell, recebo o seguinte:

$ echo $GPG_TTY
not a tty

No entanto, se eu, em seguida, source ~/.bash_profile novamente, ele funciona e contém algo como /dev/pts/2 .

Existe uma maneira de fazer isso funcionar automaticamente quando o shell é aberto? Será que o fornecimento desse arquivo inicialmente é feito antes de o tty ser alocado e, em caso afirmativo, existe uma maneira de fazer isso depois?

    
por Peter 23.09.2018 / 14:03

1 resposta

2

A variável de ambiente GPG_TTY deve conter o caminho para o dispositivo TTY para o shell interativo atual. Portanto, faria mais sentido ter isso em seu arquivo ~/.bashrc em vez de no arquivo ~/.bash_profile , já que o shell de login (que analisa o arquivo de perfil) pode, na verdade, não ser interativo sob algumas circunstâncias.

Portanto, remova a configuração de GPG_TTY de ~/.bash_profile e adicione-a como

export GPG_TTY="$( tty )"

no seu arquivo ~/.bashrc .

Em geral, adicione a configuração específica da sessão de shells interativos em ~/.bashrc e a configuração que não é específica da sessão ao arquivo ~/.bash_profile .

    
por 23.09.2018 / 15:33

Tags