From c7e38a4d61439d8d43ea6236cb599a775fec0880 Mon Sep 17 00:00:00 2001 From: qbi Date: Sun, 13 Jun 2021 15:14:33 +0200 Subject: [PATCH 1/8] Backticks durch $() ersetzt --- rechnung.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rechnung.sh b/rechnung.sh index ff3cf15..1b7399c 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -52,7 +52,8 @@ INSTALL_LCO_FILE=0 ANZAHL_RECHNUNGEN=0 READABLES_TO_CHECK= -STARTDIR="$(realpath -s `pwd`)" +STARTDIR="$(realpath -s $(pwd) +)" TEMPDIR= OUTPUTDIR="$STARTDIR" LINE_BUFFER= From ad35af7ece7811b97e6299f7a8a7f43c5037a030 Mon Sep 17 00:00:00 2001 From: qbi Date: Sun, 13 Jun 2021 15:15:38 +0200 Subject: [PATCH 2/8] Doppelte Verneinung ist verwirrend. ;-) --- rechnung.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rechnung.sh b/rechnung.sh index 1b7399c..ceae052 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -126,7 +126,7 @@ print_failed() { printf " Failed\n" fi fi - if [ ! -z "$@" ]; then + if [ -n "$@" ]; then print_error "$@" fi } From da3ac08b52ada16365583edd11e412aa64627266 Mon Sep 17 00:00:00 2001 From: qbi Date: Sun, 13 Jun 2021 15:21:15 +0200 Subject: [PATCH 3/8] Quoting korrigiert und `exit 1` ersetzt --- rechnung.sh | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/rechnung.sh b/rechnung.sh index ceae052..ccf84c1 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -52,8 +52,7 @@ INSTALL_LCO_FILE=0 ANZAHL_RECHNUNGEN=0 READABLES_TO_CHECK= -STARTDIR="$(realpath -s $(pwd) -)" +STARTDIR="$(realpath -s "$(pwd)")" TEMPDIR= OUTPUTDIR="$STARTDIR" LINE_BUFFER= @@ -223,14 +222,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'" @@ -242,7 +241,7 @@ clear_and_exit() { else echo "[*] $msg" fi - exit $1 + exit 1 } # Diverse Checks @@ -264,7 +263,7 @@ 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 print_failed "$program ist nicht im Pfad" @@ -414,7 +413,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 ..." @@ -540,7 +539,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')" @@ -555,7 +554,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 @@ -565,7 +564,7 @@ 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) @@ -670,7 +669,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 From cc3a1f246f0629813726994de031fcfb1f64b7c4 Mon Sep 17 00:00:00 2001 From: qbi Date: Sun, 13 Jun 2021 15:23:22 +0200 Subject: [PATCH 4/8] Exitcodes des Aufrufs direkt nutzen --- rechnung.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/rechnung.sh b/rechnung.sh index ccf84c1..479f3ea 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -322,8 +322,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" 2>&1 >/dev/null; then print_ok return 0 else @@ -689,8 +688,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 From c8c54559bd023ebce836b0f19c093e63cf412084 Mon Sep 17 00:00:00 2001 From: qbi Date: Sun, 13 Jun 2021 15:24:33 +0200 Subject: [PATCH 5/8] echo wird hier nicht gebraucht, `realpath` gibt Ergebnis aus --- rechnung.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rechnung.sh b/rechnung.sh index 479f3ea..7564ddb 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -388,7 +388,7 @@ set_cli_opt() { # aufgerufen werden. IFS= - echo "$(realpath -m -s "$@")" + realpath -m -s "$@" } set_abs_path() { From 0fbd1ae4698a3e5a618763d01445b7b6ab8358d8 Mon Sep 17 00:00:00 2001 From: qbi Date: Sun, 13 Jun 2021 15:27:01 +0200 Subject: [PATCH 6/8] expr sollte nicht verwendet werden --- rechnung.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rechnung.sh b/rechnung.sh index 7564ddb..0aedd56 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -566,7 +566,7 @@ make_invoice() { 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 From d6275a4698be439aede79e29240052f08a34526c Mon Sep 17 00:00:00 2001 From: qbi Date: Sun, 13 Jun 2021 15:31:06 +0200 Subject: [PATCH 7/8] Sinnvoller $* zu verwenden --- rechnung.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/rechnung.sh b/rechnung.sh index 0aedd56..b6d4d75 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -125,7 +125,7 @@ print_failed() { printf " Failed\n" fi fi - if [ -n "$@" ]; then + if [ -n "$*" ]; then print_error "$@" fi } @@ -145,9 +145,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 } @@ -156,9 +156,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 } @@ -166,9 +166,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 } From b1f0e0e5d4a75df6a458e28e3aea952799c13cc6 Mon Sep 17 00:00:00 2001 From: qbi Date: Sun, 13 Jun 2021 15:31:57 +0200 Subject: [PATCH 8/8] 2>&1 sollte immer am Ende des Aufrufs stehen --- rechnung.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rechnung.sh b/rechnung.sh index b6d4d75..d4235ce 100755 --- a/rechnung.sh +++ b/rechnung.sh @@ -265,7 +265,7 @@ check_binary() { if [ -h "$program" ]; then 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 @@ -322,7 +322,7 @@ check_sty() { # sucht nach dem paket rechnung.sty. gibt true oder false zurück. print_start "Suche nach $RECHNUNG_STY_FILE ..." - if kpsewhich "$RECHNUNG_STY_FILE" 2>&1 >/dev/null; then + if kpsewhich "$RECHNUNG_STY_FILE" >/dev/null 2>&1; then print_ok return 0 else