# I fixed the script for you:
[...]
for f in $(ls -1d ~/projects/**/); do
cd -- "$f"
[...]
done # I fixed the script for you:
[...]
for f in $(ls -1d ~/projects/**/); do
cd -- "$f"
[...]
done [...]
pushd .
for [...]
popd
I'm always a fan of ending up back where I started. (
for ...; do
cd ...
done
)
# script exits, you're back where you started
If you'd prefer to see it in isolation: pwd; ( cd /tmp; pwd ); pwd