我想向 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
?
答案1
用户 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/
在命令行中。
答案2
插入文字字符串$USER
而不是USER
变量的扩展值可能不会产生很大的差异,因为变量可能使用正确的值定义(假设是 Linux 系统)并且将由 shell 扩展。
这回答了问题的早期版本:
您不能在.inputrc
.
要将当前用户的用户名合并到 的bash
主提示中,请设置PS1
为包含转义序列的值\u
。
请参阅手册中标有“提示”的部分bash
。