diagnostics: switch to shasum, filter sysinfo using lines

shasum seems more widely available than md5/md5sum, and we don't have to worry about dealing with the different signatures and output formats of md5 and md5sum then.

sysinfo outputs localized message labels, so we can't just grep for "OS Type". But OS is the first thing it outputs, so we can probably just grab those lines by line number. Switched to doing that.
This commit is contained in:
Andrew Janke 2015-09-04 14:13:00 -04:00
parent fa25445868
commit 46ddd88fe0

View File

@ -117,13 +117,16 @@ function _omz_diag_dump_one_big_text() {
# Installed programs # Installed programs
programs=(sh zsh ksh bash sed cat grep ls find git posh) programs=(sh zsh ksh bash sed cat grep ls find git posh)
local progfile="" extra_str="" sha_str=""
for program in $programs; do for program in $programs; do
local md5_str="" md5="" link_str="" extra_str="" extra_str="" sha_str=""
progfile=$(builtin which $program) progfile=$(builtin which $program)
if [[ $? == 0 ]]; then if [[ $? == 0 ]]; then
if [[ -e $progfile ]]; then if [[ -e $progfile ]]; then
if builtin whence md5 &>/dev/null; then if builtin whence shasum &>/dev/null; then
extra_str+=" $(md5 -q $progfile)" sha_str=($(command shasum $progfile))
sha_str=$sha_str[1]
extra_str+=" SHA $sha_str"
fi fi
if [[ -h "$progfile" ]]; then if [[ -h "$progfile" ]]; then
extra_str+=" ( -> ${progfile:A} )" extra_str+=" ( -> ${progfile:A} )"
@ -314,7 +317,7 @@ function _omz_diag_dump_os_specific_version() {
builtin echo "OS Version: $osname $osver build $(sw_vers -buildVersion)" builtin echo "OS Version: $osname $osver build $(sw_vers -buildVersion)"
;; ;;
cygwin) cygwin)
command systeminfo | command grep "^OS Name\|^OS Version" command systeminfo | command head -4 | command tail -2
;; ;;
esac esac