这里我找到了带有名称的文件..:;
。mkdir '..:;'
工作得很好。但在 PATH 中,目录名称由:
.如何将该目录添加到PATH?
答案1
POSIX 标准明确提到不可能在变量值:
中使用名称中包含的目录。PATH
请参阅标题为“PATH
环境变量”的部分中有关环境变量的条目其他环境变量:
由于
<colon>
在此上下文中 是分隔符,因此可能使用的目录名称PATH
不应包含<colon>
字符。
在zsh
shell 中,您可以将目录添加到搜索路径中,并通过修改path
数组变量(即拴 PATH
):
path+=( '/some/path/..:;' )
或者首先添加条目而不是最后添加条目:
path=( '/some/path/..:;' $path )
PATH
但是,执行此操作后,使用而不是通过数组修改 shell 的搜索路径path
将导致..:;
条目在:
.另请注意,虽然修改后的路径可能在zsh
shell 中工作,但它不太可能在另一个 shell 或从该 shell 启动的应用程序中按预期工作。
答案2
根据StackOverflow 上的这个答案,这是不可能的,因为$PATH
shell 不解释它,但 execvp
它不提供转义分隔符。