0

假设我创建了自己的脚本,并且我希望该脚本成为在找不到命令时要执行的默认命令,我该如何配置 bash 以实现这一点

例如。该命令称为 defCMD

假设我在命令行中输入了一些随机字符串:

$ viosjaldfksajflsfa

通常它会输出'viosjaldfksajflsfa not found'

但是,我希望将“viosjaldfksajflsfa”作为参数输入到我编写的 defCMD 脚本中,而不是发生这种情况,因此让 bash 改为执行 defCMD。

有没有办法做到这一点?

4

1 回答 1

2

我的 bash (Fedora) 有以下内容

$ type command_not_found_handle 
command_not_found_handle is a function
command_not_found_handle () 
{ 
    runcnf=1;
    retval=127;
    [ ! -S /var/run/dbus/system_bus_socket ] && runcnf=0;
    [ ! -x /usr/libexec/packagekitd ] && runcnf=0;
    if [ $runcnf -eq 1 ]; then
        /usr/libexec/pk-command-not-found $@;
        retval=$?;
    else
        echo "bash: $1: command not found";
    fi;
    return $retval
}

您可以从这里开始并将其添加到您的.bashrc文件中。改变else分支。

于 2013-09-08T20:30:17.737 回答