如何恢复被覆盖的Shell命令?解决pwd命令被自定义覆盖的问题
恢复
pwd默认行为的方法 哈哈,这个情况我之前也碰到过!你输入pwd()的时候,相当于在Shell里定义了一个和内置命令同名的自定义函数,直接覆盖了原本的pwd功能,所以之后执行pwd只会跑你后来输入的那段代码。想要恢复默认很简单,按下面的步骤来:
- 先确认问题:输入
type pwd,如果输出是类似pwd is a function,就说明确实是函数覆盖了内置命令。 - 删除这个自定义函数:执行
unset -f pwd,这里的-f参数专门用来删除函数(如果是变量用-v)。 - 验证恢复效果:再输入
type pwd,应该会显示pwd is a shell builtin(bash环境下),这时候再执行pwd就会正常显示当前工作目录了。
另外给你个小技巧:如果只是想临时用一次原本的pwd,不想删除函数的话,可以直接用command pwd或者builtin pwd(针对bash的内置命令),这样会绕过自定义函数,直接调用系统默认的pwd。
内容的提问来源于stack exchange,提问作者Raul Butuc
相关产品推荐
相关产品推荐

