Как найти/исправить ошибку в пути

Я использовал dwm в течение долгого времени на моем нетбуке. Это - менеджер окон мозаичного размещения, записанный приблизительно в 2k строки C. Конфигурация реализована посредством перезаписи config.h и создания изменения здесь и там удовлетворять Вашим потребностям, сборка снова и установка.

Его очень очень легкий вес. нетбук снимка присоединяется на 22 дюймах.

Смотрите на позерство DWM на Дуге BBS.

Моя конфигурация Dwm - Alt+B - браузер, Ctrl+Alt + {левая/правильная//вниз} музыка, регулятор громкости, и т.д.

1
26.06.2012, 16:38
2 ответа
 $ fixpath /home/user/docus/collection/unix/djakl/jfkdsl/dfjksld/fsdkl
Found /home/user/docus/collection/unix
 $ type fixpath
fixpath is a function
fixpath ()
{
    CURDIR="$PWD";
    DIR="$1";
    E=1;
    while [ $E -eq 1 ]; do
        cd "$DIR" 2> /dev/null && {
            E=0;
            echo Found "$DIR"
        } || {
            DIR="${DIR%/*}";
            DIR="${DIR:-/}"
        };
    done;
    cd "$CURDIR"
}

Автоисправление подобия большинство современных оболочек может сделать себя. По крайней мере, удар и zsh делают.

4
27.01.2020, 23:21

La siguiente función de shell toma un nombre de ruta y determina el bit más largo que realmente existe. Lo hace eliminando el último elemento de ruta de la ruta hasta que la ruta esté completamente vacía o corresponda a un archivo (o directorio, o cualquier cosa )que realmente exista.

fixpath () (
    pathname="$1"

    while [ -n "$pathname" ] && [ ! -e "$pathname" ]; do
        pathname=${pathname%/*}
        case "$pathname" in
            */*) continue ;;
            *) [ -e "$pathname" ] || pathname=''
               break
        esac
    done

    printf 'Longest existing path in "%s" is "%s"\n' "$1" "$pathname"
)

La declaración casees necesaria para terminar el bucle en el caso de que $pathnameno contenga /(, lo que significa que no se modificaría por la sustitución de variable ). Esto evita un bucle infinito en algunas circunstancias.

Probando:

$ fixpath /home/kk/blaha/123
Longest existing path in "/home/kk/blaha/123" is "/home/kk"

$ fixpath "$HOME/.profile"
Longest existing path in "/home/kk/.profile" is "/home/kk/.profile"

$ fixpath "n"
Longest existing path in "n" is ""
0
27.01.2020, 23:21

Теги

Похожие вопросы