如何让bash不执行shell函数,只执行内部/外部命令
在命令前输入command即可以禁止shell函数查找
cd () { command cd "$@" # 这里只会执行命令shell而不会执行cd函数 setvars }
如何强制bash使用内部命令呢
在命令前输入builtin
builtin echo -n "this should be the builtin command echo" # 使用内置命令echo
如何强制bash使用外置命令呢?
只需要给出外部命令的全路径即可.
/bin/echo hi # 明确指明使用哪个外部命令
或者也可以使用enable -n将某个/某几个内置bash命令无效化. enable的影响将一直持续到用户退出shell为止.
enable -n echo ls # 禁用内置命令echo和ls enable ls # 重新启动内置命令ls enable -a # 列出所有bash内置命令的状态