On Sun, Jul 15, 2018 at 12:41:36PM +0200, Carsten Schoenert wrote: > Hmm, do you have tried to validate your shell code? > https://www.shellcheck.net/ > I just pasted > https://raw.githubusercontent.com/dashohoxha/pw/master/src/pw.sh into > and got quite a lot of problematic remarks. I've also done this now and must say/add "ouch": $ sudo apt install shellcheck $ curl -s https://raw.githubusercontent.com/dashohoxha/pw/master/src/pw.sh | shellcheck - In - line 26: $GPG --symmetric $opts --cipher-algo=AES256 \ ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 31: $GPG --encrypt $opts --use-agent --no-encrypt-to \ ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 32: $recipients "$archive" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 39: $GPG $opts --passphrase-fd 0 "$archive.gpg" <<< "$PASSPHRASE" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 41: $GPG --decrypt $opts --use-agent --output="$archive" "$archive.gpg" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 71: make_workdir ^-- SC2119: Use make_workdir "$@" if function's $1 should mean script's $1. In - line 91: make_workdir ^-- SC2119: Use make_workdir "$@" if function's $1 should mean script's $1. In - line 144: local before="$(xclip -o -selection "$X_SELECTION" 2>/dev/null | base64)" ^-- SC2155: Declare and assign separately to avoid masking return values. In - line 149: local now="$(xclip -o -selection "$X_SELECTION" | base64)" ^-- SC2155: Declare and assign separately to avoid masking return values. In - line 166: make_workdir() { ^-- SC2120: make_workdir references arguments, but none are ever passed. In - line 189: find "$WORKDIR" -type f -exec $SHRED {} + ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 200: [[ -f "$platform_file" ]] && source "$platform_file" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In - line 346: local pass="$(cat "$WORKDIR/$path" | head -n 1)" ^-- SC2155: Declare and assign separately to avoid masking return values. ^-- SC2002: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead. In - line 569: GPG_KEYS="$@" ^-- SC2124: Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. In - line 584: $GPG $GPG_OPTS --gen-key ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 606: | while read pwfile ^-- SC2162: read without -r will mangle backslashes. In - line 624: [[ -f "$customize_file" ]] && source "$customize_file" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In - line 647: *) try_ext_cmd $cmd "$@" ;; ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 659: read -e -p 'pw> ' command options ^-- SC2162: read without -r will mangle backslashes. In - line 665: *) run_cmd $command $options ;; ^-- SC2086: Double quote to prevent globbing and word splitting. ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 684: sleep $TIMEOUT ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 698: source "$PW_DIR/cmd_$cmd.sh" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In - line 699: debug running: cmd_$cmd "$@" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 700: cmd_$cmd "$@" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 707: source "$LIBDIR/ext/$PLATFORM/cmd_$cmd.sh" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In - line 708: debug running: cmd_$cmd "$@" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 709: cmd_$cmd "$@" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 716: source "$LIBDIR/ext/cmd_$cmd.sh" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In - line 717: debug running: cmd_$cmd "$@" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 718: cmd_$cmd "$@" ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 723: cmd_get $cmd ^-- SC2086: Double quote to prevent globbing and word splitting. In - line 753: source "$config_file" ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. In - line 781: [[ -f "$ARCHIVE.gpg.keys" ]] && source "$ARCHIVE.gpg.keys" # get GPG_KEYS ^-- SC1090: Can't follow non-constant source. Use a directive to specify location. -- cheers, Holger
Attachment:
signature.asc
Description: PGP signature