blob: 4adaafab998d376f76a7065f25e4b19b857b130d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# If given two arguments to cd, replace the first with the second in $PWD,
# emulating a Zsh function that I often find useful; preserves options too
__cd() {
local opts=
while getopts elP opt; do
opts="$opts -$opt"
done
shift "$(($OPTIND-1))"
if [[ "$#" -eq 2 ]]; then
if [[ "$PWD" == *"$1"* ]]; then
builtin cd $opts "${PWD/$1/$2}"
else
printf 'bash: cd: could not replace substring\n'
return 1
fi
else
builtin cd $opts "$@"
fi
}
alias cd='__cd'
|