Impossibile separare una funzione di shell
Domanda
Questa domanda si basa su il thread .
Ho la funzione shell
function man()
{
man "$1" > /tmp/manual; less /tmp/manual
}
Il problema è che esiste il comando man.
Come puoi sostituire il comando con il mio comando?
Soluzione
Sostituisci man " $ 1 " con il nome del percorso: / usr / bin / man. O cambiarlo per usare "quale uomo" nei backquotes. Quindi esegui il tuo script nella shell corrente. Su bash / ksh devi salvare il tuo script in alcuni file, dire man.sh e quindi eseguirlo come '. ./man.sh'.
cat > man.sh
function man()
{
/usr/bin/man "$1" > /tmp/manual; less /tmp/manual
}
^D
. ./man.sh
Hai avuto l'idea. Puoi annullare la definizione della funzione in qualsiasi momento: unset -f man
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow