Bash-Skript auf die Schnelle

So, da hast Du also die letzte halbe Stunde Dinge mit der Shell gemacht und merkst, dass Du genau die gleichen Dinge noch ein paar mal mehr wirst machen müssen.  Ein Bash-Skript muss also her.

Natürlich kannst Du Deine Kommandos mit dem „history“-Kommando alle nochmal anschauen und dann im copy&paste-Verfahren arbeiten.

Ich hab‘ mir das mit dieser Shell-Funktion in .bash_aliases bequemer gemacht:

function quickscript () {
filename="$1"
history | cut -c 8- | sed '/^###/{h;d};H;$!d;x' | \
sed '$d' > ${filename:?No filename given} }

Wenn ich also am rumfrickeln bin geb‘ ich also am Prompt zuerst ‚###‘ und einen kurzen Kommentar ein.  Wenn ich dann fertig bin schreibe ich mir mit

# quickscript einedatei

alle Kommandos die ich seit ‚###‘ eingegeben habe in eine Datei.

Im einfachsten Fall muss nur noch ein „#!/bin/bash“ als erste Zeile eingefügt werden.  Ansonsten muss man noch ein bisschen nacharbeiten:

Überflüssige Befehle löschen, ein paar Variablen und vielleicht noch ein Schleifchen drauf…

Üblicherweise lade ich mir die Datei einfach in ein script-template —bashsupport-vim hilft dabei.