Eu sei que isso tem 10 anos, mas eu queria jogar meus muito teimosos $ 0,02.
Não. Não. Absolutamente não.
Estamos falando de um sistema Unix. Em referência ao próprio diretório, é um nó como qualquer outro. Ao se referir ao diretório, ele não deve nunca ter uma barra unescaped em seu nome (ref: dirname
, pwd
, ~
, echo $HOME
, echo $PATH
, a saída ls
, et al).
Quando se refere a conteúdo de um diretório, então você precisa de uma barra. Quer dizer, ls /home/karl/
é mais adequado do que ls /home/karl
(FTR, quase sempre faço o último porque ... bom, preguiçoso).
Ao utilizar uma variável que contém um diretório para criar o caminho completo para um arquivo, você sempre esperaria incluir a barra (i., E cp ${HOME}/test ${OTHER_DIR}/
:).
Espera- se que um diretório não termine em uma barra. Qualquer expectativa de que um diretório termine em uma barra está errada. Assim, adicionar uma barra ao final *_DIR
do valor de uma variável estaria subvertendo as expectativas.
Quanto ao preenchimento da guia, a expectativa aqui é que você vá para esse diretório. Portanto, a ajuda fornecida pelo preenchimento da guia é para levá-lo a esse diretório para que você possa fazer a próxima escolha com base em seu conteúdo.
(referência de comentários: equívocos de caminho de arquivo , da Talk:Path_(computing)
página da Wikipedia . Obrigado, john cj )
É importante notar que só porque é errado, não significa que ferramentas / pacotes / bibliotecas nunca o façam. É uma ocorrência muito comum que essas coisas adicionem uma barra final quando nenhuma deveria existir. Portanto, como Bevan e Paul F sugeriram, ao usar ferramentas de terceiros, é melhor remover quaisquer barras finais que possam existir nos nomes de diretório.
Unix Inodes
O inode (nó de índice) é uma estrutura de dados em um sistema de arquivos no estilo Unix que descreve um objeto do sistema de arquivos, como um arquivo ou diretório.
- https://en.wikipedia.org/wiki/Inode
Padrão de hierarquia do sistema de arquivos
O padrão para o sistema de arquivos Unix (o Filesystem Hierarchy Standard, também conhecido como FHS) mostra claramente que os diretórios não são considerados como tendo uma barra final, mas sim o conteúdo do diretório começa com uma barra (a única exceção a isso é /
porque não iremos nos referir a a raiz do sistema de arquivos usando uma string vazia ... e nunca se deve criar arquivos lá de qualquer maneira.)
- http://www.pathname.com/fhs/pub/fhs-2.3.html
- https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard