]> gitweb @ CieloNegro.org - zsh-pkgsrc.git/blob - pcd
Initial commit
[zsh-pkgsrc.git] / pcd
1 local pkgpath
2 if (( $# == 1 )); then
3     pkgpath="$1"
4 else
5     echo >&2 "Usage: $0 PATH"
6     echo >&2
7     echo >&2 "pcd stands for \"pkgsrc cd\", alias to cd \${PKGSRCDIR}/\${PATH}"
8     return 1
9 fi
10
11 local pkgsrcdir
12 if [[ -n "${PKGSRCDIR}" ]]; then
13     pkgsrcdir="${PKGSRCDIR}"
14 else
15     local -a candidates=(
16         "/usr/pkgsrc"
17         "/opt/pkgsrc"
18     )
19
20     local dir
21     for dir in "${candidates[@]}"; do
22         if [[ -d "$dir" ]]; then
23             pkgsrcdir="$dir"
24             break
25         fi
26     done
27
28     if [[ -z "$pkgsrcdir" ]]; then
29         echo >&2 "PKGSRCDIR not detected"
30         return 1
31     fi
32 fi
33
34 cd "${pkgsrcdir}/${pkgpath}"
35
36 # Local Variables:
37 # mode: sh
38 # sh-shell: zsh
39 # End: