#!/bin/bash # Zeichensatz des Skripts im Falle einer Unterbrechungen sicher wiederherstellen trap 'if [[ $(file -i _pdfcreator.R) == *utf-8* ]]; then echo "korrigiere Zeichensatz nach Windows-1252..."; set +e; iconv -f UTF-8 -t WINDOWS-1252 _pdfcreator.R -o _pdfcreator.R; set -e; fi; exit' EXIT SIGHUP SIGINT SIGQUIT SIGKILL SIGTERM # Anpassung des Zeichensatzes: prüfe Notwendigkeit und erlaube keine Unterbrechungen ('set +e') # EXIT SIGHUP SIGINT SIGQUIT SIGKILL SIGTERM <-> exit, aufgehängt, crtl+c, ctrl+d, kill, shutdown # Zeichensatz des Skripts nach UTF-8 konvertieren if [[ $(file -i _pdfcreator.R) != *utf-8* ]]; then echo "korrigiere Zeichensatz nach UTF-8..."; set +e; iconv -f WINDOWS-1252 -t UTF-8 _pdfcreator.R -o _pdfcreator.R; set -e; fi; # Anpassung des Zeichensatzes: prüfe Notwendigkeit und erlaube keine Unterbrechungen ('set +e') # initialisiere Argumente args="idhvp" # Endlosschleife: while true; do # Ausgabe bereinigen: clear # Argumente einlesen: read -p "Argument fuer das R-Skript [$args]: " input if [ -n "$input" ]; then args=$input; fi # nur überschreiben, wenn Eingabe nicht leer # Backups erstellen: FILES=(*.csv) # für eine *.csv-Datei? if [ "$FILES" == "*.csv" ]; then # überprüpfe Vorhandensein von Dateien echo "Keine CSV-Dateien gefunden!" echo -e "\nDrücken Sie eine Taste um fortzufahren..."; read; echo "..."; sleep 1 # warte auf/für Nutzer continue 2 # beginne wieder von vorne fi echo -e "Ursprüngliche CSV-Dateien sichern:" FILES=*.csv # für alle *.csv-Dateien! for f in $FILES do echo -e "Checke $f: \c" if [ -f ${f%.csv}.orig ]; then # falls *.orig existiert echo "Backup existiert bereits!" else echo "Backup erstellen..." cp $f ${f%.csv}.orig # sonst Backup erstellen fi done echo "" # Umbruch erzwingen # Skript entsprechend ausführen: if [[ $(file -i _pdfcreator.R) != *utf-8* ]]; then echo "korrigiere Zeichensatz nach UTF-8..."; set +e; iconv -f WINDOWS-1252 -t UTF-8 _pdfcreator.R -o _pdfcreator.R; set -e; fi; # nochmalige Anpassung des Zeichensatzes, falls Skript im laufenden Betrieb ausgetauscht wurde Rscript --vanilla _pdfcreator.R $args # dann auf den Nutzer warten: echo -e "\nDrücken Sie eine Taste um fortzufahren..." read done