Как мне решить "-bash: promptpath: команда не найдена"?
Мой компьютер Turnkeylinux использует следующую переменную среды PS1 для приглашения bash:
PS1="${debian_chroot:+($debian_chroot)}\[\033[01;33m\]\u@\h \[\033[01;34m\]$(promptpath)\[\033[00m\]\$"
Я включил вышеупомянутое в то, что по сути является "Debian GNU/Linux 6.0 \n \l", и он пожаловался на то, что "promptpath" недоступен.
Я попытался "который подсказал путь", и его результат был НЕДЕЙСТВИТЕЛЕН (ничего не нашел). Так как promptpath не является программой, что это?
Что я должен сделать, чтобы сделать promptpath доступным на стандартной машине Debian, чтобы приглашение работало без каких-либо изменений?
1 ответ
Я заглянул в свой ~/.bashrc
и promptpath - это некая пользовательская функция.
# Set prompt path to max 2 levels for best compromise of readability and usefulness
promptpath () {
realpwd=$(realpath $PWD)
realhome=$(realpath $HOME)
# if we are in the home directory
if echo $realpwd | grep -q "^$realhome"; then
path=$(echo $realpwd | sed "s|^$realhome|\~|")
if [ $path = "~" ] || [ $(dirname $path) = "~" ]; then
echo $path
else
echo $(basename $(dirname $path))/$(basename $path)
fi
return
fi
path_dir=$(dirname $PWD)
# if our parent dir is a top-level directory, don't mangle it
if [ $(dirname $path_dir) = "/" ]; then
echo $PWD
else
path_parent=$(basename $path_dir)
path_base=$(basename $PWD)
echo $path_parent/$path_base
fi
}
Я просто скопировал TurnkeyLinux ~/.bashrc
на мою машину Debian.