Newer
Older
Der Beitrag liefert zu Beginn eine minimale Einführung in die Nutzung von Bash-Scripts, danach folgen praktische Beispiele.
Wer mehr zum Thema Programmierung mit Bash erfahren möchte, dem sei das Buch „Shell-Programmierung“ empfohlen, das Sie online kostenlos unter https://openbook.rheinwerk-verlag.de/shell_programmierung/ lesen können. Die gedruckte Version des Buches ist für 44,90 Euro erhältlich (https://m6u.de/SHPROG).
**backup.bash:** Einfaches Backup-Script mit rsync.
**backup_ex.bash:*** Dieses erweiterte Script ist für die Sicherung ausgewählter Ordner gedacht.
**convert_images.bash:** Mehrere Bilddateien konvertieren (Typ und Größe ändern)
**mk_slideshow.bash:** Wenn in einer Slideshow Bildübergänge sowie eine Musikuntermalung gewünscht sind und das Video auf eine übliche Größe skaliert werden soll, wird die ffmpeg-Befehlszeile umfangreich, weshalb Sie sich diese komfortabler mit dem Script „mk_slideshow.bash“ erstellen lässt (https://m6u.de/BASHS). Passen Sie im Script den Ein- und Ausgabeordner an, hinter „MP3“ gehört der Pfad zu einer Audio-Datei. Ist die Variable leer, wird keine Audiospur erzeugt.
**extr**: Das Script „extr“ gestaltet das Entpacken bequemer. Die benötigten Archivprogramme müssen auf dem Rechner installiert sein, etwa die Pakete „7zip“ und „unrar“. Sie können alternativ die Funktion „extr()“ aus dem Script in die Datei „.bashrc“ kopieren und genauso wie oben beschrieben aufrufen.
**smart_fritz_terminal.bash:** Unser Script „smart_fritz_terminal.bash“ kann die verbundenen DECT-Schalter ermitteln und Steckdosen ein- und ausschalten. Außerdem kann es die Anrufliste herunterladen und die externe IP-Adresse anzeigen. Bevor Sie das Script nutzen, passen Sie den kommentierten Konfigurationsabschnitt an.
**demo_dialog.bash:** Das Tool Dialog ermöglicht einfache grafische Benutzeroberflächen im Terminal. Sollte es nicht bereits vorhanden sein, installieren Sie das Paket „dialog“. Das Script „demo_dialog.bash“ zeigt ein Beispiel. Es stellt eine Frage, die Sie mit „Ja“ oder „Nein“ beantworten (siehe Abbildung). Das Ergebnis wird über notify-send als Benachrichtigung ausgegeben.
## Befehlszeilen aus der LinuxWelt 2025-03
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
**Bash-Basics**
`#!/usr/bin/env bash`
`chmod +x [Dateiname]`
`./[Dateiname]`
`~/[Ordner]/[Dateiname]`
`bash [Dateiname]`
`source ~/.profile`
`help cd`
`VARIABLE="Wert"`
`echo $VARIABLE`
```
if [ -n "$1" ]; then
echo $1
else
echo "Keine Option angegeben"
fi
```
**Backups mit Rsync erstellen***
`rsync -auP /home/sepp /media/sepp/usb/backup`
```
#!/usr/bin/env bash
date=`date "+%Y-%m-%dT%H_%M_%S"`
SOURCEDIR=$HOME/Dokumente
BACKUPDIR=/media/$USER/usb/backup
rsync -avP --log-file=$HOME/rsync.log --link-dest=$BACKUPDIR/current $SOURCEDIR $BACKUPDIR/back-$date
ln -nsf back-$date $BACKUPDIR/current
```
`diff --brief --recursive $HOME/Dokumente /media/$USER/usb/backup/[Backup-Ordner]/Dokumente`
**Backup-Script mit mehr Funktionen**
`sudo ./backup_ex.bash -s "/" -t "/Backup" -n "local-data"`
```
+ /var/
+ /var/www/
- /var/*
```
**Bilder per Script konvertieren**
`sudo apt install imagemagick-6.q16`
`convert Bild.png Bild.jpg`
`convert Bild.jpg -resize 50% Bild-klein.jpg`
```
#!/usr/bin/env bash
IN=~/Bilder/Urlaub
OUT=~/Bilder/Urlaub/klein
for f in $IN/*.jpg do
echo "Verarbeite $f"
filename=$(basename -- "$f")
filename="${filename%.*}"
/usr/bin/convert -resize 50% $f $OUT/$filename.jpg
done
```
**Diashow aus Bilddateien erstellen**
`sudo apt install ffmpeg `
`ffmpeg -framerate 1/3 -i img%03d.jpg -c:v libx264 -r 25 -pix_fmt yuv420p output.mp4`
**Universeller Entpacker**
`extr Archiv.tar.bz2`
`extr Archiv.7z`
**Schalten mit der Fritzbox**
`smart_fritz_terminal.bash 1 on`
`smart_fritz_terminal.bash 1 on`