So che questo ha 10 anni, ma volevo aggiungere i miei $ 0,02 molto supponenti.
No. No. Assolutamente no.
Stiamo parlando di un sistema Unix. In riferimento alla directory stessa, è un nodo come un altro. Quando si fa riferimento alla directory, non dovrebbe mai avere una barra senza caratteri di escape nel suo nome (ref: dirname
, pwd
, ~
, echo $HOME
, echo $PATH
, l'output dils
, et al).
Quando si fa riferimento al contenuto di una directory, allora avete bisogno di una barra. Vale a dire, ls /home/karl/
è più appropriato dils /home/karl
(FTR, faccio quasi sempre quest'ultimo perché ... beh, pigro).
Quando si utilizza una variabile contenente una directory per creare il percorso completo di un file, ci si aspetterebbe sempre di includere la barra (i., E: cp ${HOME}/test ${OTHER_DIR}/
.
È previsto che una directory non finisca con una barra. Qualsiasi aspettativa che una directory finisca con una barra è sbagliata. Quindi l'aggiunta di una barra alla fine del *_DIR
valore di una variabile sovvertirebbe le aspettative.
Per quanto riguarda il completamento della scheda, l'aspettativa qui è che tu stia andando in quella directory. Pertanto, l'assistenza fornita dal completamento con tabulazione è di portarti in quella directory in modo che tu possa fare la scelta successiva in base al suo contenuto.
(riferimento dai commenti: Idee sbagliate sul percorso del file , dalla Talk:Path_(computing)
pagina di Wikipedia . Grazie, john cj )
Vale la pena notare che solo perché è sbagliato non significa che strumenti / pacchetti / librerie non lo facciano mai. È un evento fin troppo comune che cose del genere aggiungano una barra finale quando non dovrebbe esistere. Pertanto, come suggerito da Bevan e Paul F , quando si utilizzano strumenti di terze parti, è meglio rimuovere eventuali barre finali che potrebbero esistere nei nomi delle directory.
Unix Inodes
L'inode (nodo indice) è una struttura di dati in un file system in stile Unix che descrive un oggetto file system come un file o una directory.
- https://en.wikipedia.org/wiki/Inode
Standard della gerarchia del file system
Lo standard per il filesystem Unix (il Filesystem Hierarchy Standard, AKA FHS) mostra chiaramente che le directory non sono pensate come aventi una barra finale, ma piuttosto il contenuto della directory inizia con una barra (l'unica eccezione a questo è/
perché non faremo riferimento a la radice del filesystem usando una stringa vuota ... e non si dovrebbero mai creare file lì comunque.)
- http://www.pathname.com/fhs/pub/fhs-2.3.html
- https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard