1. 如何让bash不执行shell函数,只执行内部/外部命令

    在命令前输入command即可以禁止shell函数查找

    cd ()
    {
        command cd "$@"             # 这里只会执行命令shell而不会执行cd函数
        setvars
    }
  2. 如何强制bash使用内部命令呢

    在命令前输入builtin

    builtin echo -n "this should be the builtin command echo" # 使用内置命令echo
  3. 如何强制bash使用外置命令呢?

    只需要给出外部命令的全路径即可.

    /bin/echo hi                    # 明确指明使用哪个外部命令

    或者也可以使用enable -n将某个/某几个内置bash命令无效化. enable的影响将一直持续到用户退出shell为止.

        

    enable -n echo ls               # 禁用内置命令echo和ls    
    enable ls                       # 重新启动内置命令ls
    enable -a                       # 列出所有bash内置命令的状态