- :
- - Michał Górny
- ,
- , , , :
/canis/lupus/lupus/ /nicknames/Robert/Rob/
, .
cd ()
{
local pwd="${PWD}/";
if [[ "$1" == "-e" ]]
then
shift
[[ "$2" ]] && builtin cd "${pwd%/$1/*}/${2:-$1}/${pwd##*/$1/}" || builtin cd "$@"
else
[[ "$2" ]] && builtin cd "${pwd/\/$1\///$2/}" || builtin cd "$@"
fi
}
, cdX, , :
/canis/lupus/lupus/specimen $ cdX lupus familiaris
bash: cd: /canis/familiaris/lupus/specimen: No such file or directory, "lupus" - , . , < -e .
/canis/lupus/lupus/specimen $ cd -e lupus familiaris
/canis/lupus/familiaris/specimen $:
/nicknames/Robert/Rob $ cdX Rob Bob
bash: cd: /nicknames/Bobert/Rob: No such file or directory. , .
/nicknames/Robert/Rob $ cd Rob Bob
/nicknames/Robert/Bob $:
/fish/fish/fins $ cd fish/fins robot/fins
/fish/robot/fins $, && || if... then... else... fi .