1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00

iiab-diagnostics: (1) Show commits even if non-root (2) Cleaner "/CANONICAL-PATH/CMD PARAMS" output (3) Lint to [[ $VAR == "" ]]

This commit is contained in:
A Holt 2022-05-29 14:57:32 -04:00 committed by GitHub
parent 2678d79b2f
commit 61ada786cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -6,11 +6,14 @@
IIAB_RELEASE=`cat /etc/iiab/iiab.env | grep IIAB_RELEASE | cut -d'=' -f2`
OS_VER=`cat /etc/iiab/iiab.env | grep OS_VER | cut -d'=' -f2`
#HASH=`cd /opt/iiab/iiab; git log --pretty=format:'%h' -n 1`
HASH1=`cd /opt/iiab/iiab; git log --pretty=format:'%H' -n 1`
HASH2=`cd /opt/iiab/iiab-admin-console; git log --pretty=format:'%H' -n 1`
YMDT=$(date +%F_%T_%Z)
#HASH=`cd /opt/iiab/iiab; git log --pretty=format:'%h' -n 1`
git config --global --add safe.directory /opt/iiab/iiab # Nec below, if non-root
HASH1=`cd /opt/iiab/iiab; git log --pretty=format:'%H' -n 1`
git config --global --add safe.directory /opt/iiab/iiab-admin-console # Nec below, if non-root
HASH2=`cd /opt/iiab/iiab-admin-console; git log --pretty=format:'%H' -n 1`
echo -e "\nGathers IIAB diagnostics into 1 file, to accelerate troubleshooting. USAGE:"
echo
echo -e " iiab-diagnostics"
@ -19,7 +22,7 @@ echo -e " sudo iiab-diagnostics PATH/FILE1 PATH/FILE2 ... # COMPLETE RESU
echo
echo -ne "Can you provide a \e[1mshort public nickname:\e[0m (no spaces!) "
read nickname < /dev/tty
if [ "$nickname" = "" ]; then
if [[ $nickname == "" ]]; then
nickname="NONAME"
fi
@ -82,18 +85,21 @@ function cat_dir() {
fi
}
function cat_cmd() { # $1 = command + params, $2 = explanation
function cat_cmd() { # $1 = command + params, $2 = explanation
echo " $1 # $2"
echo "=IIAB==========================================================================" >> $outfile
cmd=$(echo "$1" | sed 's/\s.*$//') # Keep command on left; Drop params on right
pth=$(command -v $cmd | sed 's/[^/]*$//') # Keep only path on left; Drop command on right
if [ "$2" = "" ]; then
echo "COMMAND: $pth$1" >> $outfile
#cmd=$(echo "$1" | sed 's/\s.*$//') # Keep command on left; Drop params on right (NOT NEC, 'command -v' does this!)
#pth=$(command -v $cmd | sed 's/[^/]*$//') # Keep only path on left; Drop command & params on right
pthcmd=$(command -v $1) # Use canonical path on left; Drop params on right
spc_params=$(echo "$1" | sed 's/^\s*\S*//;s/\s*$//;s/^\s\s*/ /') # LTrim + drop original path + command on left; RTrim; Compress whitespace in between
#spc_params=$(echo "$1" | sed 's/^[[:blank:]]*[^[:blank:]]*//;s/[[:blank:]]*$//;s/^[[:blank:]][[:blank:]]*/ /') # Equivalent (POSIX compliant)
if [[ $2 == "" ]]; then
echo "COMMAND: $pthcmd$spc_params" >> $outfile
else
echo "COMMAND: $pth$1 # $2" >> $outfile
echo "COMMAND: $pthcmd$spc_params # $2" >> $outfile
fi
echo >> $outfile
if [ "$pth" = "" ]; then
if [[ $pthcmd == "" ]]; then
echo "COMMAND NOT FOUND: $1" >> $outfile
else
$(echo "eval $1") >> $outfile # eval is nec within backticks, so | (pipes) work: https://stackoverflow.com/a/7184782
@ -101,7 +107,7 @@ function cat_cmd() { # $1 = command + params, $2 = explan
echo >> $outfile
}
function cat_tail() { # $1 = path/filename; $2 = # of lines, for tail
function cat_tail() { # $1 = path/filename; $2 = # of lines, for tail
echo " $1"
echo "=IIAB==========================================================================" >> $outfile
cat_file_raw "$1" $2 # e.g. last 100 lines, maximum