Gostaria de adicionar uma combinação de teclas ao my .inputrc
que coloca o valor de uma variável de ambiente, USER
, na linha de comando.
Eu tentei todos os tipos de escape, mas a string $USER
é escrita literalmente na linha de comando, não o valor dessa variável de ambiente.
$if mode=vi
# Keymaps when we are in insert mode
set keymap vi-insert
# Insert path before mountpoint
"C-e": "/run/media/$USER"
Existe uma maneira razoável de fazer isso .inputrc
ou é melhor usar outros meios como .bashrc
?
A dica do usuário meuh para usar
shell-expand-line
me levou a esta solução que coloca o valor da variável de ambiente na linha de comando:Agora, pressionar Ctrl+ eresulta na
/run/media/me/
linha de comando.Inserir a string literal
$USER
em vez do valor expandido daUSER
variável pode não fazer uma grande diferença, pois a variável provavelmente é definida com o valor adequado (assumindo um sistema Linux) e seria expandida pelo shell.Isso responde a uma encarnação anterior da pergunta:
Você não pode usar variáveis de ambiente em arquivos
.inputrc
.Para incorporar o nome de usuário do usuário atual no
bash
prompt primário, definaPS1
um valor que contenha a sequência de escape\u
.Consulte a seção denominada "PROMPTING" no
bash
manual.