Я знаю, что это 10 лет, но я хотел добавить свои очень самоуверенные 0,02 доллара.
Нет. Абсолютно нет.
Мы говорим о системе Unix. Что касается самого каталога, это узел, как и любой другой. При обращении к каталогу в его имени не должно быть косой черты без экранирования (ref: dirname
, pwd
, ~
, echo $HOME
, echo $PATH
, вывод из ls
и др.) ,
При обращении к содержимому каталога, , а затем вам нужна косая черта. То есть ls /home/karl/
более уместен, чем ls /home/karl
(FTR, я почти всегда делаю последнее, потому что ... ну, ленивый).
При использовании переменной, содержащей каталог, для создания полного пути к файлу, вы всегда должны включать косую черту (например, e: cp ${HOME}/test ${OTHER_DIR}/
).
ожидается , что каталог не заканчивается косой чертой. Любое ожидание, что каталог заканчивается косой чертой, неверно. Таким образом, добавление косой черты в конец значения *_DIR
будет подрывать ожидания.
Стоит ли отмечать, что просто потому, что это неправильно, не означает, что инструменты / пакеты / библиотеки никогда этого не делают. Это слишком распространенное явление, когда такие вещи добавляют косую черту, когда не должно существовать. Поэтому, как предложили Bevan и Paul F , при использовании сторонних инструментов лучше всего удалять любые завершающие косые черты, которые могут существовать в именах каталогов.
Unix Inodes
Inode (индексный узел) - это структура данных в файловой системе в стиле Unix, которая описывает объект файловой системы, такой как файл или каталог.
- https://en.wikipedia.org/wiki/Inode
Стандарт иерархии файловой системы
Стандарт для файловой системы Unix (Стандарт иерархии файловых систем, AKA FHS) ясно показывает, что каталоги не рассматриваются как завершающие косые черты, а содержимое каталогов начинается с косой черты (единственное исключение) это /
, потому что мы не будем ссылаться на корень файловой системы, используя пустую строку ... и в любом случае никогда не следует создавать файлы там.)
- http://www.pathname.com/fhs/pub/fhs-2.3.html
- https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard