在 bash 中,转义空格字符“\”在命令参数中不再起作用

在 bash 中,转义空格字符“\”在命令参数中不再起作用

过去的情况是怎样的(对我来说一直如此):

apejoy$ cd Application\ Support  
/Users/apejoy/Library/Application Support  
apejoy$

现在的情况是怎样的(我完全糊涂了):

apejoy$ cd Application\ Support  
-bash: cd: Application: No such file or directory  
/Users/apejoy/Library

这到底是怎么回事?无论我转义的 [space] 字符是什么,bash 都会在转义字符处停止,寻找不存在的应用程序目录/Users/apejoy/Library

有人有什么想法吗?

答案1

我猜你现在有一个名为的函数cd,它会拦截你的调用以cd进行一些额外的处理,并且该函数没有正确引用它发送给cd内置函数的参数。在 bash 提示符下执行以下命令,看看会得到什么。

type cd

相关内容