我正在处理将文件位置传递给 scp 子进程的 python 脚本。这一切都很好,但我处于这样一种情况,我可能最终将一个路径与一个文件名连接起来,这样路径中就有一个双 ' /。我知道 bash 不关心您是否有多个文件分隔符,但我想知道如何纠正它。是 bash 去掉了额外的/s 还是真的无关紧要?
我问是因为它会为我节省几行代码来/在连接时检查额外的s。我知道这没什么大不了的,但我也很好奇。我有一个包含行cd //usr(而不是cd /usr)的 bash 脚本,这似乎暗示/在路径中使用多个s可能很重要
我在 linux 中使用的大多数命令的行为都完全相同,无论我是否/在目录名称的末尾包含斜杠字符。
例如:
ls /home/cklein
ls /home/cklein/
cp foo bar
cp foo/ bar/
Run Code Online (Sandbox Code Playgroud)
这个尾部斜杠什么时候重要?尾部斜杠的语义是什么?
考虑我正在为我的音乐目录制作的符号链接,名为music.
ln -s Music music
Run Code Online (Sandbox Code Playgroud)
现在考虑以下命令序列:
edward@ArchLinux:~$ readlink music
Music
edward@ArchLinux:~$ readlink music/
edward@ArchLinux:~$
Run Code Online (Sandbox Code Playgroud)
只有当我不在/符号链接名称的末尾使用时,我才会得到输出。
我想知道/dir和/dir/是否不同。有人可以解释一下吗?