Tanto quanto eu experimentei, depende principalmente de suas necessidades e preferências
Você encontrará muitos documentos em que isso é deixado para o usuário. Isso é o que eu notei:
- os caminhos absolutos são mais claros: quem terá que manter / modificar seu script (você ou outras pessoas) poderá saber todas as vezes quais diretórios estão envolvidos;
- com caminhos absolutos, você tem certeza de que os diretórios envolvidos são aqueles com o caminho exato que você está escrevendo no script;
- os caminhos relativos são mais curtos, mas você precisa ter certeza da subárvore em que está trabalhando;
- você pode alcançar a brevidade substituindo caminhos recorrentes por uma variável no início do script (por exemplo, /var/log/app/component/module/logfile.log - > $ module_log_dir / logfile.log)
Como Thrig notou, você poderia adicionar uma verificação para os diretórios envolvidos logo antes do comando executar.