Man soll kaum glauben wie oft man als Admin immer wieder manuell die selben Befehle aufrufen muss, weil sich Teile ändern.
Nach dem Motto "Nur ein fauler Admin ist ein guter Admin" gibts dafür von mir ein kleines Script, was nur eins tut: Einen Befehl solangeausführen bis ihr in mit Strg+C abbrecht.
Eingesetzt habe ich es bis jetzt vor allem im massenhaften Abfragen mit Befehlen wie nslookup oder useradd, die einfach kaum mehr alseine Halbautomatisierung zu lassen.
Hier also das Skript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #!/bin/bash
usage() {
echo -e "Methodlooper. Usage:\n"
echo "looper COMMAND"
}
if [ -z "$1" ]
then
usage
exit 1
fi
LOOPER_COMMAND="$1"
while [ 1 ]
do
echo -n "${1} "
read ARGS
$LOOPER_COMMAND $ARGS
done
|
UPDATE #1:
Um das ganze etwas Nutzerfreundlicher zu gestalten habe ich den Code noch einmal überarbeitet, sodass er jetzt eine eigene History anlegt -und zwar für jeden Befehl den ihr looped eine seperate. Das ganze sieht jetzt so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #!/bin/bash
LOOPER_DIR=~/.looper
if [ ! -d $LOOPER_DIR ]
then
mkdir $LOOPER_DIR
fi
usage() {
echo -e "Methodlooper. Usage:\n"
echo "looper COMMAND"
}
if [ -z "$1" ]
then
usage
exit 1
fi
LOOPER_COMMAND=$1
LOOPER_HISTORY=${LOOPER_DIR}/history_${LOOPER_COMMAND}
if [ ! -f $LOOPER_HISTORY ]
then
touch $LOOPER_HISTORY
fi
history -r $LOOPER_HISTORY
while true
do
echo -n "${1} "
read -e ARGS
history -s "$ARGS"
history -w $LOOPER_HISTORY
$LOOPER_COMMAND $ARGS
done;
|