Я хотел бы разделить приглашение 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
на то магическое значение, которое вы назвали «слишком длинным» ;)