GNU/Linux >> Linux の 問題 >  >> Linux

シェルプロンプトの短縮された現在のディレクトリ?

vim 少し長いときにパスで利用する非常に優れた機能があります:

上部のタブでドキュメントへのパスを省略します。これに似た方法でbashプロンプトが次のように表示されないようにする方法はありますか:

[email protected] ~/Documents/Projects/Work/maventest/src/main/java/com/tkassembled/ $ 

承認された回答:

これを試してください:

PROMPT_COMMAND='PS1X=$(perl -pl0 -e "s|^${HOME}|~|;s|([^/])[^/]*/|$""1/|g" <<<${PWD})'

または、純粋なbash:

PROMPT_COMMAND='PS1X=$(p="${PWD#${HOME}}"; [ "${PWD}" != "${p}" ] && printf "~";IFS=/; for q in ${p:1}; do printf /${q:0:1}; done; printf "${q:1}")'

次に

PS1='[email protected] ${PS1X} $ '

生成します(~に注意してください ${HOME}の場合 ):

[email protected] ~/D/P/W/m/s/m/j/c/tkassembled $

@enzotibのおかげで答えが改善されました


Linux
  1. 現在のディレクトリを取得するShell-initエラー[修正]

  2. ターミナルプロンプトが現在の回線を上書きしますか?

  3. シェルスクリプトはどこから実行されますか?

  1. 現在のシェルから.bashrcを再生成しますか?

  2. Linux シェルから、現在とは異なる作業ディレクトリでプログラムを実行するにはどうすればよいですか?

  3. シェルスクリプトの現在のディレクトリ?

  1. 現在のディレクトリでスクリプトを入手できません

  2. 現在のディレクトリをプッシュ/ポップしますか?

  3. 現在のディレクトリを返す Linux/UNIX sh シェルのコマンドはどれですか?