Назад | Перейти на главную страницу

Как мне разрешить «-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».

Я попробовал "which promptpath", и результат был NULL (ничего не нашел). Поскольку подсказка не похоже на программу, что это такое?

Что мне нужно сделать, чтобы подсказка была доступна на стандартной машине Debian, чтобы подсказка работала без каких-либо изменений?

Я заглянул в свой ~/.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.