Como devo resolver “-bash: promptpath: command not found”?

1

Minha máquina Turnkeylinux usa a seguinte variável de ambiente PS1 para o prompt do bash:

PS1="${debian_chroot:+($debian_chroot)}\[3[01;33m\]\u@\h \[3[01;34m\]$(promptpath)\[3[00m\]\$"

Eu pluguei o código acima no que é essencialmente um repositório "Debian GNU / Linux 6.0 \ n \ l" e ele se queixou do "promptpath" estar indisponível.

Eu tentei "qual promptpath", e seu resultado foi NULL (não encontrei nada). Como o promptpath não parece ser um programa, o que é isso?

O que devo fazer para disponibilizar o promptpath na máquina Debian padrão para que o prompt funcione sem nenhuma alteração?

    
por starlocke 23.10.2012 / 17:27

1 resposta

2

Eu olhei para o meu ~/.bashrc e o promptpath é algum tipo de função definida pelo usuário.

# 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
}

Eu simplesmente copiei o TurnkeyLinux ~/.bashrc para minha máquina Debian.

    
por 23.10.2012 / 17:37