GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie ändere ich schnell das erste Wort in einem Bash-Befehl?

!$ erweitert sich auf das letzte Wort Ihres vorherigen Befehls.

Sie könnten also Folgendes tun:

cat foo/is/a/very/long/path/to/bar.c

rm !$

oder:

git diff foo/bar.c

git checkout !$

Ihre Beispiele wiederholen zufällig nur das letzte Wort, also !$ funktionierte gut. Wenn Sie viele Argumente wiederholen möchten und nur das erste Wort ändern möchten, können Sie !* verwenden , das auf alle Wörter des vorherigen Befehls außer dem nullten erweitert wird.

Siehe Abschnitt "HISTORIEERWEITERUNG" in bash Manpage. Da gibt es viel Flexibilität.


Strg +a um zum Anfang der Zeile zu gehen, dann Alt +d um das erste Wort zu löschen.


Ich bin mir nicht sicher, ob es tatsächlich schneller wäre oder nicht, aber siehe diesen Artikel, insbesondere Punkt #.3:

  1. Ersetzen Sie eine Zeichenfolge aus dem vorherigen Befehl mit ^str1^str2^

Im folgenden Beispiel haben wir zuerst den Befehl ls ausgeführt, um eine Datei zu überprüfen. Später stellten wir fest, dass wir den Inhalt der Datei anzeigen möchten. Anstatt den gesamten Dateinamen erneut einzugeben, können wir einfach das „ls“ im vorherigen Befehl durch „cat“ ersetzen, wie unten gezeigt.

$ ls /etc/cron.daily/logrotate

$ ^ls^cat^
cat /etc/cron.daily/logrotate

Linux
  1. Wie stoppe ich den Find-Befehl nach dem ersten Match?

  2. Wie ändere ich die vorherige/nächste Wortverknüpfung in Bash?

  3. Wie wird der Platzhalter * als Befehl interpretiert?

  4. So ändern Sie den Hostnamen unter Ubuntu

  5. Wie kann ich das Argument des vorherigen Bash-Befehls abrufen?

So verwenden Sie den Bash-Let-Befehl {mit Beispielen}

So verwenden Sie den Bash-Lesebefehl

So verwenden Sie den Linux-cd-Befehl zum Ändern des Verzeichnisses

So ändern Sie die Priorität eines Prozesses in Linux

So ändern Sie den Hostnamen unter CentOS 8

So ändern Sie die Ausgabefarbe von „Echo“ in Linux