명령줄 .inputrc
에 환경 변수 값을 입력하는 키 바인딩을 my에 추가하고 싶습니다 .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 시스템 가정)으로 정의될 수 있고 셸에 의해 확장되므로 큰 차이가 없을 수 있습니다.
이것은 질문의 이전 버전에 대한 답변입니다.
당신은 에 있을 수 없습니다 .inputrc
.
현재 사용자의 사용자 이름을 bash
기본 프롬프트 에 병합하려면 PS1
이스케이프 문자열이 포함된 값을 설정하세요 \u
.
"팁"이라고 표시된 설명서 섹션을 참조하세요 bash
.