/ / impostazione di un comando predefinito per bash - linux, bash, shell, riga di comando, comando

impostazione di un comando predefinito per bash - linux, bash, shell, riga di comando, comando

Supponiamo che crei il mio script e che lo script sia il comando predefinito da eseguire se il comando non viene trovato, come faccio a configurare la bash per far sì che ciò accada

Per esempio. il comando è chiamato defCMD

Supponiamo di digitare una stringa casuale nella riga di comando:

$ viosjaldfksajflsfa

Normalmente produrrebbe "viosjaldfksajflsfa non trovato"

Tuttavia, invece di quello che succede voglio "viosjaldfksajflsfa" da alimentare come parametro nello script defCMD che ho scritto e quindi ho invece eseguito invece defCMD.

c'è un modo per farlo accadere?

risposte:

2 per risposta № 1

La mia bash (Fedora) ha il seguente

$ 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
}

Puoi iniziare da qui e aggiungerlo al tuo .bashrc file. Cambiare il else ramo.