Ist es möglich, einen Befehl (eine Zeichenfolge) in die Befehlszeile eines Bash-Skripts zu kopieren?

Ist es möglich, einen Befehl (eine Zeichenfolge) in die Befehlszeile eines Bash-Skripts zu kopieren?

ich programmiere gerade ein Skript, in dem ich Befehle in einem Spickzettel speichern kann (z. B. „git add.“, „git merge“, „docker compose-up“ …) – alle Befehle, die ich in meiner täglichen Arbeit brauche.

siehe hier:https://github.com/m1well/cheatsheet

nun habe ich eine frage: ist es möglich einen befehl in die kommandozeile zu kopieren ohne zusätzliche installationen vorzunehmen?

meine eigentliche Idee ist, es wie den Shell-Verlauf zu implementieren -> vor jedem Befehl eine Nummer hinzuzufügen und dann möchte ich es so aufrufen,
$ my-script.sh -c 5
wobei -c„Befehlsparameter“ steht (falls bereits mehrere Parameter implementiert sind) und „5“ für den Befehl in Zeile 5 steht.

Kurz zusammengefasst: ist es möglich, eine Zeile aus einer Datei in die Befehlszeile zu kopieren und sie dann durch Klicken auf die Eingabetaste auszuführen?

Antwort1

Das hängt vom Betriebssystem ab. Für Unix/LinuxHiersind einige Vorschläge, wie man einen String in den Eingabepuffer stopfen kann. Unter Windows ist das natürlich anders.

Ein völlig anderer Ansatz, der nur auf Bash basiert, besteht in der Verwendung von etwas wie diesem: Geben Sie diesen Befehl in die Bash-Eingabeaufforderung ein:

foo() {
    READLINE_LINE="execute me"
    READLINE_POINT=${#READLINE_LINE}
}
bind -x '"\ex": foo'

AltJetzt können Sie + x(den Teil im Code) eingeben \exund die aktuelle Eingabezeile wird durch ersetzt execute me.

verwandte Informationen