Это можно рассмотреть либо.
В Linux //это ничего не значит - несколько последовательных слешей сворачиваются в один, где угодно на пути, включая начало. Смена директории на //вас /, как показало readlink /proc/self/cwdбы выполнение; аналогично, /usr//local///binрушится /usr/local/bin.
Однако некоторые другие Unix-подобные системы, например Cygwin или старая Apollo Domain / OS, используют // префикс для сетевых путей, таких как //fileserver/path/to/data. POSIX также позволяет это.
По разным причинам оболочка bash самостоятельно отслеживает текущий каталог (в дополнение к отслеживанию, предоставляемому операционной системой), и в нем есть код, который предотвращает //свертывание исходного файла и остается совместимым с такими системами. «Особенность» заключается в том, что bash обеспечивает более интуитивное отслеживание текущего каталога, например, когда вы cdпереходите по символической ссылке, bash покажет вам ожидаемый путь, даже если ядро думает иначе. «Ошибка» в том, что bash разрешает //даже в системах, которые его не используют.