Alguns dos meus colegas de trabalho preferem escrever o seguinte no topo de seus scripts BASH para determinar o diretório que contém o script:
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
Enquanto eu prefiro o seguinte:
SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
(Observe que, na maioria dos casos, não nos importamos em resolver links simbólicos, por isso tendemos a usar estes em vez de eg readlink
)
Há algum mérito da cd ... && pwd
abordagem em relação à dirname
abordagem -only? Parece que ela está apenas realizando etapas extras para atingir exatamente o mesmo resultado, mas quero ter certeza de que não há nenhuma nuance que eu esteja perdendo.