我正在处理将文件位置传递给 scp 子进程的 python 脚本。这一切都很好,但我处于这样一种情况,我可能最终将一个路径与一个文件名连接起来,这样路径中就有一个双 ' /
。我知道 bash 不关心您是否有多个文件分隔符,但我想知道如何纠正它。是 bash 去掉了额外的/
s 还是真的无关紧要?
我问是因为它会为我节省几行代码来/
在连接时检查额外的s。我知道这没什么大不了的,但我也很好奇。我有一个包含行cd //usr
(而不是cd /usr
)的 bash 脚本,这似乎暗示/
在路径中使用多个s可能很重要
是否真的find
不应该进行最简单的路径统一/简化操作,例如将多个连续的斜杠合并在一起(相当于原始形式)?
例如输出find .///
是:
.///
.///somefile
[…]
Run Code Online (Sandbox Code Playgroud)
(测试find
来自 GNU 和busybox
)
如果是这样,那是为什么?有没有我遗漏的合理用例?也许对于有人正在搜索find
内部脚本的输出的情况?
顺便说一句,同样有趣的是 GNU 的 find for find ./// -maxdepth 0 -printf '%h\n'
(的输出%h
应该是“文件名的前导目录(除了最后一个元素和它之前的斜杠之外的所有目录)”):(.//
只是少了一个/
)