如果路径“太长”,我想将我的 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
为您称之为“太长”的神奇值;)