In /usr/bin/p7zip line 19: prg7z="`which 7za 2>/dev/null`" || \ ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: prg7z="$(which 7za 2>/dev/null)" || \ In /usr/bin/p7zip line 20: prg7z="`which 7zr 2>/dev/null`" || \ ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: prg7z="$(which 7zr 2>/dev/null)" || \ In /usr/bin/p7zip line 84: tmp="`make_tmp_file`" ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: tmp="$(make_tmp_file)" In /usr/bin/p7zip line 85: trap "rm -f -- ${tmp}" 0 ^----^ SC2064: Use single quotes, otherwise this expands now rather than when signalled. In /usr/bin/p7zip line 87: "${prg7z}" a -si -- "${tmp}" < "${file}" >/dev/null && cat "${tmp}" || \ ^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true. In /usr/bin/p7zip line 103: "${prg7z}" a $flags -- "${file}.7z" "${file}" || { rm -f -- "${file}.7z"; exit 1; } ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: "${prg7z}" a "$flags" -- "${file}.7z" "${file}" || { rm -f -- "${file}.7z"; exit 1; } In /usr/bin/p7zip line 123: "${prg7z}" x $flags -- "${file}" || exit 1 ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: "${prg7z}" x "$flags" -- "${file}" || exit 1 In /usr/bin/p7zip line 149: tmp="`make_tmp_file`" ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: tmp="$(make_tmp_file)" In /usr/bin/p7zip line 150: trap "rm -f -- ${tmp}" 0 ^----^ SC2064: Use single quotes, otherwise this expands now rather than when signalled. For more information: https://www.shellcheck.net/wiki/SC2064 -- Use single quotes, otherwise this... https://www.shellcheck.net/wiki/SC2015 -- Note that A && B || C is not if-t... https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...