# Produktive Bash-Scripts 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). **Befehlszeilen aus der LinuxWelt 2025-03:** **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`