一段时间以来,我的bash 没有显示我写的内容(“回声”?),reset
每次打开新会话时我都必须运行命令。
我只是通过在 ~/.bashrc 的末尾添加来“修复”它reset
,但这不是最好的解决方案,因为它在我的通用设置中是特定于计算机的垃圾,而且这个命令需要时间。
我应该怎么做才能永久修复这些设置?
一段时间以来,我的bash 没有显示我写的内容(“回声”?),reset
每次打开新会话时我都必须运行命令。
我只是通过在 ~/.bashrc 的末尾添加来“修复”它reset
,但这不是最好的解决方案,因为它在我的通用设置中是特定于计算机的垃圾,而且这个命令需要时间。
我应该怎么做才能永久修复这些设置?
有趣的是,例如,当我偶然发现二进制文件时,就会发生这种情况。更一般地说,当某些东西正在向终端写入 ansi-control 字符/序列并破坏它(我认为)时,可能会发生这种情况。原因非常依赖于环境,并且弄清楚为什么在您的机器上发生这种情况不太适合 stackoverflow 的 Q/A 格式。但是,有些人提供了有关如何自动重置终端的线索。
没有永久的解决方法,但是您可以通过定义例如做一些聪明的事情
PROMPT_COMMAND=__prompt_command
并且在那...
如果 stty 报告 -echo,则运行 stty echo。
PROMPT_COMMAND=zumba
zumba() { PS1="$: "; stty | grep -qe -echo && stty echo; }
老实说,我不确定这是否会对你的 shell 产生不利影响——比如一些非交互式进程中断或一些 ncurses 程序中断。
除了提示命令,您还可以使用调试陷阱技巧在每个命令之前运行一些东西
看到这个:https ://superuser.com/questions/175799/does-bash-have-a-hook-that-is-run-before-executing-a-command