Oft habe ich einen Befehl mit allen Buchstaben in Großbuchstaben ausgeführt (möglicherweise, weil aktiviert CapsLock), und ich habe gedrückt, Enterbevor ich dies bemerkte.
Wie kann ich den letzten Befehl ausführen, wobei alle Buchstaben in Kleinbuchstaben umgewandelt werden?
command-line
bash
history
Radu Rădeanu
quelle
quelle
!!:l
.Antworten:
Sie können dies erreichen, indem Sie die folgende kleine Funktion (ich nenne es
??
sehr einfach, aber Sie können dies ändern, wie Sie möchten) in Ihre.bashrc
Datei einfügen:Als nächstes, wenn Sie ausgeführt werden:
Der letzte Befehl wird mit allen Kleinbuchstaben ausgeführt.
Erläuterung
!!
: Dies ist Teil der Verlaufstools von bash, insbesondere wird es bis zur letzten Befehlsausführung erweitert . So wird beispielsweiseecho !!
der letzte in dieser speziellen Shell-Sitzung ausgeführte Befehl gedruckt."${@,,}
: Das Konstrukt${foo,,}
konvertiert den Inhalt der Variablen$foo
in Kleinbuchstaben.$@
ist das Array von Positionsparametern. Wenn es in einer Funktion verwendet wird, wird es auf die Parameter erweitert, die an diese Funktion übergeben werden.Also
"${@,,}"
wird einfach alles, was an die Funktion übergeben wurde, in Kleinbuchstaben umgewandelt und dann ausgeführt. Wenn Sie die??
Funktion daher!!
als Parameter ausführen, wird der letzte Befehl in Kleinbuchstaben umgewandelt und ausgeführt.quelle
"!!"
.??
konvertiert ihre Argumente Buchstaben in Kleinbuchstaben und!!
schreibt automatisch den vorherigen Befehl im aktuellen Befehl neu (so??
nimmt as Argument den vorherigen Befehl).Der Schlüssel befindet sich in den
`
Anführungszeichen (Backticks) - die Ausgabe wird als Befehl ausgeführt.quelle
tr
wäre auch meine erste wahl. Funktioniert auch (alternativ zu Backticks und ohne die POSIX-Bracket-Klassen):$( echo !! | tr '[A-Z]' '[a-z]')
Hier kommt eine Antwort des Programmierers ... benutze Python:
Oder Ruby:
Oder Perl (wahrscheinlich mein Favorit):
Oder PHP:
Oder Awk:
Oder Sed:
Oder Bash:
Oder zsh
Oder NodeJS, wenn Sie es haben:
Sie könnten auch
dd
(aber ich würde nicht!) Verwenden :Sie können auch ein kleines Skript erstellen, um die Aufgabe zu erledigen:
Was du so verwendest:
quelle
Und der mit
sed
,Beispiel:
Ausgabe:
quelle