Преобразование индекса цикла bash в плавающую точку

Вот моя реализация 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
0
30.05.2016, 06:14
0 ответов

Теги

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