如何使 tty 在 .bash_profile 中工作

如何使 tty 在 .bash_profile 中工作

~/.bash_profile为了让 GPG 更好地工作, 我做了以下准备:

export GPG_TTY="`tty`"

但是当我打开一个新的 shell 时,我得到以下信息:

$ echo $GPG_TTY
not a tty

但是,如果我再次source ~/.bash_profile它就会工作并包含类似/dev/pts/2.

有没有办法让 shell 打开时自动工作?是否最初获取该文件是在分配 tty 之前完成的,如果是这样,是否有办法稍后执行?

答案1

环境GPG_TTY变量应保存当前交互式 shell 的 TTY 设备的路径。因此,将其放在一个~/.bashrc文件中而不是放在~/.bash_profile文件中是最有意义的,因为登录 shell(解析配置文件)实际上在某些情况下可能不是交互式的。

GPG_TTY因此,删除from的设置~/.bash_profile并将其添加为

export GPG_TTY="$( tty )"

在你的~/.bashrc文件中。

一般来说,添加交互式 shell 的会话特定设置~/.bashrc以及非会话特定于~/.bash_profile文件的设置。

相关内容