나는 사용한다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
. 어떻게 해야 하나요?
답변1
이것은 내 구현입니다 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