Es kann keine Shell-Funktion entbinden
Frage
Diese Frage auf den Faden .
Ich habe die Shell-Funktion
function man()
{
man "$1" > /tmp/manual; less /tmp/manual
}
Das Problem ist, gibt es den Befehl man.
Wie können Sie den Befehl mit meinem Befehl ersetzen?
Lösung
Ersetzen Mann "$ 1" mit dem Pfad: / usr / bin / Mann. Oder ändern, es zu benutzen ‚die die Menschen‘ im einfachen Anführungszeichen. Führen Sie dann Ihren Skript in dem aktuell Shell. Auf bash / KSH Sie müssen Ihr Skript in irgendeiner Datei speichern, sagen man.sh und führen Sie es dann als‘. ./man.sh‘.
cat > man.sh
function man()
{
/usr/bin/man "$1" > /tmp/manual; less /tmp/manual
}
^D
. ./man.sh
Sie erhalten die Idee. Sie können die Funktion jederzeit undefine: unset -f man
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow