假设我创建了自己的脚本,并且我希望该脚本是未找到命令时要执行的默认命令,如何配置bash以实现此目的
EG。该命令名为defCMD
假设我在命令行中输入了一些随机字符串:
$ viosjaldfksajflsfa
通常它会输出'viosjaldfksajflsfa not found'
然而,我希望'viosjaldfksajflsfa'作为参数输入到我编写的defCMD脚本中,而不是发生这种情况,因此请使用bash执行defCMD。
有没有办法让这种情况发生?
答案 0 :(得分: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
分支。