Why the path "//" is working?
Solution 1:
According to the POSIX specification:
A pathname that begins with two successive slashes may be interpreted in an
implementation-defined manner, although more than two leading slashes shall be
treated as a single slash.
I'm guessing bash resolves the two slashes to a single slash, so they both mean the same thing. And according to the specification, cd ///
should also give the same output.
You can check the inode number of the current directory using
stat -c "%i" .
and you'll notice that the inode number of /
and //
are the same.
Solution 2:
This question has already been answered here.
On most POSIX systems, multiple slashes are simply ignored.