Bash双击?

时间:2015-01-22 19:32:50

标签: linux bash

为什么bash控制台接受" / bin // bash"而不是" / bin / bash"?路径" / bin // bash"不存在,但是当我输入双斜杠时,会打开一个新的bash会话。

1 个答案:

答案 0 :(得分:2)

这是open syscall完成文件解析的结果.open调用分配文件描述符,然后使用与文件系统相关的调用解析路径组件 - /bin/////bash也将执行您显示的操作。这是因为通过POSIX规则定义了一个或多个连续的/字符来分隔有效的路径名。写bash的人知道这一点,所以fnmatch的行为与标准所说的一样:

请参阅POSIX.1-2017 #3.271 "Pathname"

  

多个连续<slash>个字符被视为与一个字符相同   <slash>,但正好有两个前导<slash>字符的情况除外。