Command-Line

unix:hpux 和/或 solaris 上的波浪號

  • June 30, 2015

在 Linux 上按 F9 返回正確

~

在 unix(solaris 或 hpux)上返回

0~

如何在這些系統上設置正確的波浪號?

功能鍵可以由視窗管理器或終端仿真器解釋(例如,您會發現 F11 通常會使視窗最大化)或作為 VTxxx 或 ANSI 轉義序列傳遞給程序。

Linux 和 Solaris 上的 F9 通常發送ESC``[``2``0``~. 根據軟體的版本,bashksh將其解釋為0~~。另一方面,如果你的 shell 是 dash,它不做任何行編輯,你會看到^[[20~.

讓 F9 發送~

如果您使用的是 X(在美式佈局鍵盤上測試):

xmodmap -e "keycode 75 = asciitilde"

在 Linux 控制台上,執行showkey以查找 F9 的鍵碼。在我的系統上,它是 67。然後執行這個(你可能需要是 root):

echo "keycode 67 = asciitilde" | loadkeys

在 Solaris 10 控制台上,執行showkeys | more以查找 F9 的 keytable 條目。在我的帶有虛擬 USB 鍵盤的虛擬機上,它是key 66 all tf(9). 然後創建一個包含以下內容的文件:

key 66 all ~

並執行loadkeys /path/to/file

我不知道是什麼讓你認為 F9 返回一個波浪號是“正確的”,但如果你想要一個波浪號,你應該使用波浪號鍵。

功能鍵大多是未定義的,基於您使用的客戶端硬體、您使用的客戶端軟體、您使用的伺服器端軟體以及您使用的伺服器端硬體的差異。

引用自:https://unix.stackexchange.com/questions/180503