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

Часто бывает, что длинный путь ошибочен или вы получаете запись в файле журнала, которая не существует. Есть ли команда или функция оболочки, которая перемещает иерархию путей до тех пор, пока не найдет соответствующий путь?

Обмен командной строкой может выглядеть так:

$ ls /var/lib/my/supper/complicated/path File or directory not found $ fixpath /var/lib/my/supper/complicated/path Found /var/lib/my 

В качестве бонусной функции обнаружение сходства было бы замечательным:

 $ fixpath /var/lib/my/supper/complicated/path Found /var/lib/my Did you mean /var/lib/my/super/complicated/path 

One Solution collect form web for “Как найти / исправить ошибку в пути”

  $ 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" } 

Самосогласование подобия самых современных оболочек может само по себе. По крайней мере, bash и zsh делают.

  • Что проверяет ?
  • Изменение шаблонов гвоздики zsh для использования с cp
  • zle reset-prompt предотвращает просмотр истории с помощью клавиш со стрелками
  • Генерация цитируемых аргументов команды
  • Почему ZSH заканчивает линию выделенным символом процента?
  • Поиск тестируемой утилиты для получения абсолютного пути к относительной целевой символической ссылке
  • Почему GNOME Display Manager всегда читает .profile?
  • cd в каталог символически связанного файла
  • каталог автозаполнения zsh
  • Понимание цветов в zsh
  • ZSH: разбиение первых N файлов по пути в лексикографическом порядке
  • Linux и Unix - лучшая ОС в мире.