如果路径长度超过 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为您称之为“太长”的神奇值;)

相关内容