diff --git a/rechnung.sh b/rechnung.sh index 42eedaf..da5074a 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -44,7 +44,7 @@ INSTALL_LCO_FILE=0 ANZAHL_RECHNUNGEN=0 READABLES_TO_CHECK= -STARTDIR="$(realpath -s `pwd`)" +STARTDIR="$(realpath -s "$(pwd)")" TEMPDIR= OUTPUTDIR="$STARTDIR" LINE_BUFFER= @@ -133,7 +133,7 @@ print_failed() { printf " Failed\n" fi fi - if [ ! -z "$@" ]; then + if [ -n "$*" ]; then print_error "$@" fi } @@ -153,9 +153,9 @@ print_info() { if [ "$VERBOSITY" -eq 1 ]; then if [ "$COLORED_OUTPUT" -eq 1 ]; then - echo "${GREEN}[+]$NORMAL $@" + echo "${GREEN}[+]$NORMAL $*" else - echo "[-] $@" + echo "[-] $*" fi fi } @@ -164,9 +164,9 @@ print_warn() { if [ "$VERBOSITY" -eq 1 ]; then if [ "$COLORED_OUTPUT" -eq 1 ]; then - echo "${YELLOW}[-]$NORMAL $@" 1>&2 + echo "${YELLOW}[-]$NORMAL $*" 1>&2 else - echo "[-] $@" 1>&2 + echo "[-] $*" 1>&2 fi fi } @@ -174,9 +174,9 @@ print_warn() { print_error() { if [ "$COLORED_OUTPUT" -eq 1 ]; then - echo "${RED}[-]$NORMAL Error: $@" 1>&2 + echo "${RED}[-]$NORMAL Error: $*" 1>&2 else - echo "[-] Error: $@" 1>&2 + echo "[-] Error: $*" 1>&2 fi } @@ -230,14 +230,14 @@ print_version() { usage_and_exit() { print_usage - exit $1 + exit 1 } clear_and_exit() { - if [ ! $(pwd) = "$STARTDIR" ]; then + if [ ! "$(pwd)" = "$STARTDIR" ]; then print_info "Wechsle nach '$STARTDIR' zurück" - cd $STARTDIR + cd "$STARTDIR" fi if [ -d "$TEMPDIR" ]; then print_info "Entferne temporäres Verzeichnis '$TEMPDIR'" @@ -249,7 +249,7 @@ clear_and_exit() { else echo "[*] $msg" fi - exit $1 + exit 1 } # Diverse Checks @@ -271,9 +271,9 @@ check_binary() { exit 3 else if [ -h "$program" ]; then - program=$(realpath $program) + program=$(realpath "$program") print_middle " zeigt auf $program ..." - if ! which "$program" 2>&1 >/dev/null; then + if ! which "$program" >/dev/null 2>&1; then print_failed "$program ist nicht im Pfad" fi fi @@ -330,8 +330,7 @@ check_sty() { # sucht nach dem paket rechnung.sty. gibt true oder false zurück. print_start "Suche nach $RECHNUNG_STY_FILE ..." - kpsewhich "$RECHNUNG_STY_FILE" 2>&1 >/dev/null - if [ $? -eq 0 ]; then + if kpsewhich "$RECHNUNG_STY_FILE" >/dev/null 2>&1; then print_ok return 0 else @@ -397,7 +396,7 @@ set_cli_opt() { # aufgerufen werden. IFS= - echo "$(realpath -m -s "$1")" + realpath -m -s "$@" } set_abs_path() { @@ -421,7 +420,7 @@ install_sty() ( ## notwendige programm prüfen for program in "$GIT_BIN" "$LATEX_BIN"; do - check_binary $program + check_binary "$program" done ## Repo clonen print_start "Hole Repo von $RECHNUNG_STY_URL ..." @@ -547,7 +546,7 @@ make_invoice() { rechnungsnummer="$inv_date--$LFDNR" subject="Rechnung zu $SHORT" filename="$(date '+%Y%m%d')_Rechnung_${month_ascii}_$(echo "$KUNDE" | $TR_BIN " " "_").ltx" - sedfile="$(basename -s .ltx $filename).sed" + sedfile="$(basename -s .ltx "$filename").sed" buffer="$KUNDE; $ADRESSE" anschrift="$(echo "$buffer" | sed 's/; /\\\\\\\\\\\\\\ /g')" @@ -562,7 +561,7 @@ make_invoice() { printf "s!#POSITION#!%s!\n" "$POSITION" printf "s!#BETRAG#!%s!\n" "$BETRAG" printf "s!#DEADLINE#!%s!\n" "$inv_dead" - } >$sedfile + } > "$sedfile" cp "$TEMPLATEFILE" "$filename" $SED_BIN -i -f "$sedfile" "$filename" if [ "$DEBUG" -eq 1 ]; then @@ -572,10 +571,10 @@ make_invoice() { if ! $GENPDF "$filename" 1>&2 >/dev/null; then print_error "Kompilierung von $filename fehlgeschlagen" logfile=$(echo "$OUTPUTDIR/$filename" | sed -e s/ltx/log/) - print_error "$(grep "Error" $logfile)" + print_error "$(grep "Error" "$logfile")" else print_info "Rechnung $filename erfolgreich erstellt" - ANZAHL_RECHNUNGEN=$(expr $ANZAHL_RECHNUNGEN + 1) + ANZAHL_RECHNUNGEN=$(( ANZAHL_RECHNUNGEN + 1 )) fi if [ -x "$RUBBER_BIN" ]; then @@ -673,7 +672,7 @@ print_head ## Die nötigen Programme und rechnung.sty testen for program in $EXECUTABLES_TO_CHECK; do - check_binary $program + check_binary "$program" done ## relative pfade in den variablen LCOFILE, KUNDENFILE und TEMPLATEFILE wenn @@ -693,8 +692,7 @@ done LCO=$(basename "$LCOFILE" .lco) ## temporäres Verzeichnis erstellen und hineinwechseln -TEMPDIR=$(mktemp -d) -if [ ! $? -eq 0 ]; then +if ! TEMPDIR=$(mktemp -d); then print_error "Erstellen der temp. Verzeichnis fehlgeschlagen" exit 8 else