
コマンドライン.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
ユーザーmihの使用のヒントを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
。