Boas práticas de shell script

Muitas vezes eu me pego escrevendo shellscripts que precisam lidar com caminhos relativos. O problema é que você não pode presumir que o usuário do seu script o está executando a partir do diretório de scripts, então, se você quiser algo assim:

#!/bin/bash
./some/other/script.sh

para trabalhar de qualquer lugar, você terá que primeiro fazer o cd no diretório do seu script:

#!/bin/bash
BASEDIR
="$( cd "$( dirname "$0" )" && pwd )"
cd $BASEDIR

./some/other/script.sh