В ударе, если Вы CD к//Ваш pwd будете//, но если Вы CD к / или///+ Ваш pwd будете/. Существует ли причина этого, или это - просто странная ошибка?
Я попробовал это в osx и человечности.
От Bash FAQ:
E10), Почему делает 'CD//', оставляют $PWD как '//'?
POSIX.2, в его описании 'CD', говорит, что три или больше ведущих наклонных черты могут быть заменены единственной наклонной чертой при канонизации текущего рабочего каталога.
Это, я предполагаю для исторической совместимости. Определенные версии Unix, и ранние сетевые файловые системы, используемые пути формы//имя хоста/путь для доступа к 'пути' на сервере 'имя хоста'.
Хотя ответ был корректен на данных, это дало, это не вполне отвечало на вопрос, который задают.
Оболочка нормализует путь. Это делает:
Можно проверить это с strace, который будет видеть то, что на самом деле передается в syscall
strace -o /tmp/strace.out bash -c "cd ///tmp"
grep chdir /tmp/strace.out
# will give chdir("/tmp")
strace -o /tmp/strace.out bash -c "cd ///tmp/../etc"
grep chdir /tmp/strace.out
# will give chdir("/etc")
Оболочка делает нормализацию пути, прежде чем она даже скажет системе изменять dir