パスが「長すぎる」場合は、入力したコマンドが常に収まるように、bash プロンプトを 2 行に分割したいと思います。
現在のプロンプトは次のようになります: ~/go/src/asd$ ls -lah
、パスが長すぎる場合、コマンドは常に行を折り返す必要があります。したがって、パスが長すぎる場合は、条件付きで 2 行のプロンプトにしたいと思います。これはどのように実行できますか?
答え1
ファイルの末尾に以下を追加します~/.bashrc
:
path_len() {
max_path=20
currentPath=$(pwd)
pathLen=${#currentPath}
[ ${pathLen} -gt ${max_path} ] && printf "\n:"
}
PS1="\n\[\033[1;31m\]\u@\h: \[\033[32m\]\w\$(path_len)\[\033[0m\] -> "
max_path
そして、関数内の変数をpath_len
「長すぎる」と言われた魔法の値に調整します ;)