BashCMD – Einfacher Befehls-Starter

BashCMD ist ein kleines Shellscript welches eine vielseitige Verwaltung von Programmaufrufen, Schellsripten oder Befehlen erlaubt.

Der Start kann über Nautilus, Desktop-Icon oder über einen Quicklisteintrag erfolgen. Beide Dateien liegen in einem bin-Verzeichnis unter Home.

Mit einer csv-Datei werden die Einträge verwaltet.

Aufbau BashCMD.liste :

Nummer TAB Bezeichnung TAB ausführbarer Befehl

Shellskript BashCMD :

#!/bin/bash
# BashCMD - Olaf Zimmermann - http://infointern.zimmland.de
# Teile des Scriptes beruhen auf einer alten Version des bashtuner
# von Karsten Weidenfeld http://www.linuxfiles.de
#
# mit Anweisungen zur Verfolgung
# Fehler Oktober 2014 unter Trusty 64bit, bereinigt
# Auswahl=$(...zenity --list ...) liefert bei Doppelklick den String
# Listenzeilennummer | Listenzeilennummer
# z. B. 14|14
#
#
NAME="BashCMD"
ANWEISUNG="Wählen Sie einen Befehl aus!"
LISTE="$HOME/bin/BashCMD/Befehlsliste.csv"
SPALTEA="Nummer"
SPALTEB="Script"
SPALTEC="ScriptBefehl"
doscript() {
auswahl=$(awk -F " " '{print $1"\n"$2"\n"$3}' $LISTE | \
zenity --list \
--column "$SPALTEA" \
--column "$SPALTEB" \
--column "$SPALTEC" \
--title="$NAME" \
--text="$ANWEISUNG" \
--width=600 --height=800 \
--ok-label="Machen" \
--cancel-label="Abbruch" \
2>/dev/null \
)
entscheidung=$?
zeile=`echo "$auswahl" | awk -v FS="|" '{print $1}'`
if [ "$entscheidung" = "1" ] ; then
exit 0;
else
export dodies=$(cat $LISTE | head -n "$zeile" | tail -n1 | cut -d' ' -f3)
$dodies
sort -k1 -n $LISTE -o $LISTE
doscript
fi
}
doscript