编辑:事实证明,我能够部分解决自己的问题 - 我不确定具体的细节,但据我所知,创建/编辑~/.bash_profile
只会让终端在启动时自动运行该文件中的脚本。似乎~/.bashrc
其他文件做了类似但仍然不同的事情,但我不知道细节。我要修复的是编辑我现有的.bash_profile
文件并将该export GPG_TTY=$(tty)
行添加到末尾。这修复了终端中的 GPG/git。
这个标题可能有点让人困惑,我来详细解释一下。
我现在的代码是这样的:
#!/bin/bash
clear
echo "This script fixes errors with ioctl in GPG."
export GPG_TTY=$(tty)
最后一行确实有助于修复(此处详细说明问题;使用的解决方案),但每次我重新打开一个新的终端窗口时,我都必须运行它多次。虽然脚本可能不一定比直接输入它更快,但它仍然对我有帮助。
截至目前,结果是它在终端中打开一个新窗口,输出如下:
This script fixes errors with ioctl in GPG.
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
这对我正在使用的任何其他窗口都没有帮助,那么有没有办法让此修复应用于其他窗口,或者在最后使用的终端窗口中打开?
此外,是否有针对 GPG 的 ioctl 的永久修复,或者是否有办法在我打开新终端窗口时或使用使用 GPG 的命令(例如git commit
)时自动运行此脚本?
我是否必须手动输入代码或使用脚本文件来执行此操作?
这可能是一个不好的问题,也可能是一个简单的问题,但我还是想问一下。
提前致谢。