function ..() {
## .. <nombre> remonte de <nombre> repertoires
## .. /<chaine> remonte jusqu\'a ce qu\'un repertoire contient <chaine> dans son nom
local level=$1
if [[ ! "$level" =~ / ]]; then
while [ $level -gt 0 ]; do
cd .. || break
level=$(($level-1))
done
else
level=${level:1}
local curdir=$(pwd)
IFS=\'/\' read -ra ADDR <<< "$curdir"
for (( i = ${#ADDR[@]}-1; i>0; i-- )); do
if [[ "${ADDR[$i]}" =~ "$level" ]]; then
break
fi
cd ..
done
fi
}