2016-08-07 87 views
0

Gibt es eine Möglichkeit für Bash, das erste Wort des vorherigen Befehls (den Befehlsnamen selbst) zurückzugeben, ähnlich wie !$ das letzte Wort des vorherigen Befehls zurückgibt?

Zum Beispiel:

ls -l 

Ich möchte ls

+1

Bitte nehmen Sie sich einen Blick auf: [? Was soll ich tun, wenn jemand meine Frage beantwortet] (http://stackoverflow.com/help/someone-answers) – Cyrus

Antwort

5

Sie zurückkehren können ein Wort von Nummer mit !: wählen. Dies schließt alle Vor-Befehl-Zuweisungen ein, so dass die genaue Anzahl, die Sie benötigen, variiert.

$ x=3 some_command foo # some_command is !:1 
$ ls -l     # ls is !:0 
$ x=6 y=3 bar   # bar is !:2 
+0

Danke. Nun zur zweiten Frage, wie kann ich '!: 0' mit etwas anderem aliasieren? 'alias @@ =" !: 0 "' oder 'alias @@ = !: 0' gibt mir den Fehler -bash:!: 0: Befehl nicht gefunden – dylan12345