Was ist die Verwendung der 'Befehl' Bash Shell eingebaut? This Seite sagt, dass es die Shell-Funktion Lookup unterdrückt, aber ich bin mir nicht sicher, was es bedeutet. Kannst du es erklären oder ein Beispiel geben?Verwendung des 'Befehls' in Bash-Shell eingebaut
Antwort
beachten:
$ date() { echo "This is not the date"; }
$ date
This is not the date
$ command date
Tue Aug 2 23:54:37 PDT 2016
Cool ++ Das beste Beispiel überhaupt;) ++ – sjsam
Nehmen wir ein einfaches Beispiel für eine Funktion. Wir möchten sicherstellen, dass cp
immer die Option -i
verwendet. Wir könnten das mit einem Alias machen, aber Aliase sind einfach und Sie können nicht viel Intelligenz in sie einbauen. Funktionen sind viel mächtiger.
Wir könnten versuchen, diese (denken Sie daran, dies ist nur ein einfaches Beispiel):
cp() {
cp -i "[email protected]"
}
cp gash.txt gash2.txt
, die uns unendliche Rekursion gibt! Es ruft sich immer selbst an. Wir konnten /bin/cp
in diesem Fall verwenden, aber das ist, was command
für ist:
cp() {
command cp -i "[email protected]"
}
cp gash.txt gash2.txt
Das funktioniert, weil jetzt ignoriert es die cp
Funktion.
Bitte den Link an die richtige Stelle Punkt machen. – sjsam
Beachten Sie, dass der 'Befehl' auch verwendet werden kann, um Shell-Befehlssuche zu unterdrücken. Zum Beispiel führt "time" einen Shell-Built-In-Befehl aus, während "Command Time" oder "\ Time" eine ausführbare Datei "/ bin/date" ausführt. – DaBler