这个问题是https://unix.stackexchange.com/questions/126955/percent-in-path-environment-variable的后续问题.我把它贴在这里,因为它更有发行版的特色。
默认情况下用于sh的shell (即破折号)与execvp不兼容,因为它使用的是$PATH变量。处理奇怪文件名的一种标准化方法是使用URL编码方案。现在我不能使用这个标准了,因为dash保留了%。为了解决这个问题,我有以下选择
理想情况下,我更喜欢选项(1)似乎是最好的方法。它使得在文件名中使用标准化的转义方案成为可能。但是,由于dash的行为显然与其他shell不同,如果任何系统脚本依赖于dash特有的功能,它将破坏系统。此外,它还要求用户具有根权限。
选项(2)意味着我必须找到另一个符号,它不会在任何地方发生碰撞。当然,一些外壳可能会破坏任何不是字母的符号。
选项(3)意味着功能的大幅减少。
发布于 2014-04-29 08:10:17
选项一相当简单。你只需要跑:
sudo dpkg-reconfigure dash然后选择不。这将把/bin/sh推回/bin/bash。
您可以手动完成此操作(删除链接,创建一个新链接),但这是官方方法。
https://askubuntu.com/questions/457529
复制相似问题