Автоматизация cd в каталог архива в ~ / .avfs

Я использую avfs для удобного просмотра архивов из командной строки. Это создает представление обо всем дереве каталогов в ~/.avfs (поэтому, если файл /path/to/foo существует, то он также отображается как ~/.avfs/path/to/foo ), и, кроме того, если /path/to/foo – файл архива, тогда ~/.avfs/path/to/foo# – это каталог, представляющий собой каталог верхнего уровня содержимого архива.

Когда я хочу исследовать внутреннюю часть архива, это немного громоздко: мне нужно переключиться в иерархию ~/.avfs , а завершение работы cd не поможет мне вводить эти имена архивов и добавлять # в конец ,

Я хотел бы иметь возможность запускать acd foo.zip из /path/to/dir и запускать cd ~/.avfs/path/to/dir# . С достойным завершением для acd . Как я могу это сделать?

One Solution collect form web for “Автоматизация cd в каталог архива в ~ / .avfs”

Вот моя реализация acd . Он делает правильную вещь, является ли аргумент каталогом или архивом. acd без аргументов эквивалентен acd . ,

 avfs_cd () { case "$2" in "$HOME/.avfs/"*) :;; /*) set -- "$1" "$HOME/.avfs$2";; *) set -- "$1" "$HOME/.avfs$PWD/$2" esac if ! [ -d "$2" ]; then set -- "$1" "${2}#" fi "$1" "$2" } alias acd='avfs_cd cd' alias apushd='avfs_cd pushd' 

И вот моя функция завершения zsh:

 _acd () { _dirs _files -g "*.(7z|rar|tar.bz2|tar.gz|tar.xz|tbz2|tgz|zip)(e\\''REPLY=\${REPLY}\\#'\\')" } compdef _acd acd apushd 
  • Возврат карты без другого ввода в псевдоним
  • Повторная команда с разными именами файлов
  • LS_COLORS не соблюдается на Cygwin
  • запуск экрана в оболочке не может найти сеансы, но запуск экрана во время входа в ssh может
  • XTerm не обновляет изменения vim должным образом
  • zsh псевдоним переопределяется каким-то образом
  • Как я могу перестроить stty lnext на ^ q?
  • Символы имени действительной функции Shell
  • ZSH, vcs_info, Mercurial и Trac: странная ветка и ревизия
  • Автоматически раскрасить вывод дерева
  • Динамически обновлять список завершений в zsh
  • Interesting Posts

    Проблема с большим диском раздела Linux

    Как выбрать строку текста в браузере архаичного терминала – Ссылки

    Измените значение «max_sectors» USB для всего семейства устройств

    Приложение при сбое сервера при доступе через браузер – после полного обновления системы

    Что делает процесс / usr / libexec / packagekitd?

    «Пользовательское и групповое создание» mysql, настройки прав собственности

    Где скрипт iptables хранится в DD-WRT-файловой системе?

    Как сохранить файлы Excel (.xls) в листах Calligra?

    Как получить версию моего драйвера nvidia?

    Установка драйвера Nvidia для GTX 760m под Linux

    Как увеличить скорость текстовой консоли (настройка режима ядра)?

    Как получить / dev / ttyUSB * для отображения?

    Использование относительного пути? Я знаю абсолютный путь. Использование команды копирования?

    Как я могу сделать коммутатор доступным через Интернет, который позволяет пользователям включать или выключать скрипт python?

    Mutt: горячая клавиша для возврата в INBOX?

    Linux и Unix - лучшая ОС в мире.