경로가 x 문자보다 길면 여러 줄의 bash 프롬프트가 표시됩니까?

경로가 x 문자보다 길면 여러 줄의 bash 프롬프트가 표시됩니까?

경로가 "너무 길면" bash 프롬프트를 두 줄로 나누어 입력한 명령이 항상 맞도록 하고 싶습니다.

현재 프롬프트는 다음과 같습니다. ~/go/src/asd$ ls -lah따라서 경로가 너무 길면 명령이 항상 줄바꿈되어야 합니다. 따라서 경로가 너무 길면 조건부로 두 줄 프롬프트로 만들고 싶습니다. 어떻게 해야 하나요?

답변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"너무 길다"라고 부르는 마법의 값으로 조정하세요. ;)

관련 정보