Arch-Linux
在 .inputrc 鍵綁定中使用環境變數
我想向 my 添加一個鍵綁定
.inputrc
,將環境變數的值USER
, 放在命令行中。我嘗試了各種轉義,但字元串
$USER
是逐字寫入命令行的,而不是該環境變數的值。$if mode=vi # Keymaps when we are in insert mode set keymap vi-insert # Insert path before mountpoint "C-e": "/run/media/$USER"
有沒有一種合理的方法可以做到這一點,
.inputrc
或者我最好使用其他方式,比如.bashrc
?
使用者 meuh 的使用提示讓
shell-expand-line
我找到了這個解決方案,它將環境變數的值放在命令行上:$if mode=vi # Keymaps when we are in insert mode set keymap vi-insert # Expand variables like ~ and $USER to their values "\C-a": shell-expand-line # Insert path before mountpoint, then expand the variable "\C-e": "/run/media/$USER/\C-a"
現在,在命令行上按
Ctrl
+e
結果。/run/media/me/
插入文字字元串
$USER
而不是USER
變數的擴展值可能不會有很大的不同,因為變數可能是用正確的值定義的(假設是 Linux 系統)並且會被 shell 擴展。這回答了這個問題的早期版本:
您不能在
.inputrc
.要將目前使用者的使用者名合併到
bash
的主要提示中,請設置PS1
為包含轉義序列的值\u
。請參閱手冊中標有“提示”的部分
bash
。