这就是我的 bash 提示符过去的样子。
然后我做了一些可能不太聪明的事情,我做了cat /bin/bash
。现在我的 bash 提示符看起来像这样,用英镑符号 (£) 而不是井号 (#)。它甚至会影响文件内的哈希符号,请参见此处:
知道如何恢复这个吗?
编辑:这个问题不是问“如何改变我的bash提示符?”,而是问“我的bash提示符自己改变了,我怎样才能恢复它?”
完全的.bashrc
对于那些有兴趣的人。
答案1
终端接受并执行一堆不同的字符序列作为控制命令。例如,所有光标移动都是使用这些来完成的。有些代码会进行永久性更改,例如设置颜色或告诉终端使用备用字符集。可执行文件和其他二进制文件很可能包含表示这些命令的字节,因此将二进制文件转储到终端可能会产生令人讨厌的副作用。参见例如这里对于一些控制代码。
其历史背景是,最初,终端相当带屏幕和键盘的哑设备,并且它们通过串行端口连接到实际的计算机。在此之前,它们是带有键盘的打印机。没有太多协议可以将数据字节与命令字节分开,因此命令被“内联”发送给终端。 (或者更确切地说,转义码和控制字符就是协议。)人们可能会认为,如果今天设计该系统,数据和命令之间将会有更清晰的分离。
您可以使用以下命令,而不是仅仅关闭终端窗口或终止模拟器reset
命令,它发送一个类似的命令(或多个)将终端重置回正常的默认值。
我不知道到底是什么会导致哈希值发生变化。 (但是@Random832确实如此,看看他们的答案.)我更熟悉“替代字符集”,它可以将所有字符更改为画线字形。即使发生这种情况,键盘输入通常不会发生变化,因此reset
Enter即使字符显示为垃圾或根本不显示,写入仍然有效。 (与你的提示变成一堆行相比,你只得到了很小的效果。)
答案2
答案3
关闭终端并打开一个新终端。
答案4
stty sane
似乎也解决reset
了这个问题。