Wie kann ich das erste Wort in einem Bash-Befehl schnell ändern?
Wenn sich in Ihrem Workflow viele sich wiederholende Aktionen befinden, schadet es nie, nach Möglichkeiten zur Verbesserung und Optimierung Ihres Workflows zu suchen. Der heutige SuperUser-Beitrag enthält einige hilfreiche Vorschläge für Leser, die ihren Workflow verbessern möchten.
Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Screenshot mit freundlicher Genehmigung von Matt Joyce (Flickr).
Die Frage
SuperUser-Leser-Münze möchte wissen, wie das erste Wort in einem Bash-Befehl schnell geändert werden kann:
Ich möchte meinen Workflow in Bash verbessern und habe festgestellt, dass ich oft den gleichen Befehl für eine andere ausführbare Datei ausführen möchte.
Einige Beispiele
1.) Git
2.) Bash
Ich weiß, dass ich schlagen kann Strg + a dann Del Um das erste Wort zu entfernen, frage ich mich, ob es einen schnelleren Weg gibt.
Gibt es eine schnellere Möglichkeit für Münze, das erste Wort in Bash-Befehlen zu ändern?
Die Antwort
SuperUser-Mitwirkende Spiff, Hastur, jjlin. und Gustavo Giraldez haben die Antwort für uns. Zuerst, Spiff:
!$ wird bis zum letzten Wort Ihres vorherigen Befehls erweitert. Sie könnten also folgendes tun:
Oder
Ihre Beispiele haben nur das letzte Wort wiederholt, also! $ Hat gut funktioniert. Wenn Sie tatsächlich viele Argumente haben, die Sie wiederholen möchten, und Sie nur das erste Wort ändern möchten, können Sie! * Verwenden, das sich auf alle Wörter des vorherigen Befehls außer dem nullten erweitert.
Siehe den Abschnitt „HISTORY EXPANSION“ der bash-Manpage. Es gibt viel Flexibilität dort.
Gefolgt von der Antwort von Hastur:
Ich möchte eine Warnung hinzufügen (siehe die Antwort von Spiff oben). Mit! $ Haben Sie keine vollständige visuelle Kontrolle über die Linie, die Sie ausführen. Die Ergebnisse können manchmal schädlich sein, insbesondere wenn Sie einen Druckfehler machen. Es braucht das, was es braucht, um sich zu erweitern.
Wenn Sie also den letzten Befehl mit einem Leerzeichen am Anfang schreiben, wird dieser Befehl wahrscheinlich nicht aus der Historie beendet. Wenn Sie Ihren neuen Befehl mit! $ Ausführen, übernimmt die Shell die Parameter nicht von der zuletzt eingegebenen Befehlszeile, sondern nur vom letzten Teil des Verlaufs.
Hier finden Sie weitere hilfreiche Wörter und Befehle.
Dann die Antwort von jjlin:
Strg + a an den Anfang der Zeile gehen, dann Alt + d das erste Wort löschen.
Und unsere letzte Antwort von Gustavo Giraldez:
Die Verknüpfung zum Löschen von Wörtern ist eigentlich Meta + d, und Meta wird normalerweise zugeordnet Alt auf Linux-Maschinen. Auf Plattformen, auf denen dies nicht der Fall ist, ist eine Alternative zu bekommen Meta Modifikator ist zu verwenden Esc als Präfix. Sie können mehr über das lesen Meta Key Hier.
Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.