Para garantir, inclua a barra. Isso pode levar a várias barras ao concatenar os caminhos, mas pelo menos você evita problemas.
Alguns exemplos: rsync
trata os caminhos de maneira diferente se a barra final estiver incluída (sincroniza o diretório em vez de criar outro subdiretório). Links simbólicos para diretórios às vezes se comportam de uma maneira inesperada quando eles não têm a barra final - pelo menos a conclusão da shell fica confusa. Você nunca sabe se o comando / script que você invoca depende da verificação da barra para algum comportamento especial. Pode até evitar que você sobrescreva alguma coisa. Por exemplo, se você tem um arquivo chamado foo
, mas erroneamente acha que é um diretório e quer mover algo nele, então mv bar foo
sobrescreverá o arquivo (perda de dados, possível catástrofe), mas mv bar foo/
apenas reclamará e não faça nada.
Então, para concluir, na maioria dos casos isso não importa, mas você deve usar a barra para se proteger, e também tornar mais óbvio para o leitor humano o que você pretendia fazer em um script. Um observador casual terá certeza de que uma variável se refere a um diretório, se ele terminar com uma barra, e irá usá-lo corretamente se precisar ser modificado.