@@ -21,21 +21,21 @@ InstallProgram() {
2121 local prog_arch
2222 if [[ ${machine_arch:? } = x86_64 ]]; then
2323 prog_arch=amd64
24- elif [[ ${machine_arch:? } = arm64 ]]; then
24+ elif [[ ${machine_arch:? } = arm64 ]] || [[ ${machine_arch :? } = aarch64 ]] ; then
2525 prog_arch=arm64
2626 else
27- RecCritical " arch (${machine_arch:? } ) is not supported"
27+ LogshError " arch (${machine_arch:? } ) is not supported"
2828 exit 1
2929 fi
3030 local download_url && download_url=" ${git_url_prefix:? } /releases/download/v${prog_version:? } /${exe_filename:? } .${prog_os:? } -${prog_arch:? } "
3131 local downloaded_path && downloaded_path=${prog_version_tmp_dir:? } /$( basename " ${download_url:? } " )
3232 # download
33- RecNotice " Download ${download_url:? } "
33+ LogshNotice " Download ${download_url:? } "
3434 DownloadURL " ${download_url:? } " " ${downloaded_path:? } "
3535 # install
36- RecNotice " Install ${downloaded_path:? } to ${prog_version_exe:? } "
37- RecExec mv -f " ${downloaded_path:? } " " ${prog_version_exe:? } "
38- RecExec chmod +x " ${prog_version_exe:? } "
36+ LogshNotice " Install ${downloaded_path:? } to ${prog_version_exe:? } "
37+ LogshExec mv -f " ${downloaded_path:? } " " ${prog_version_exe:? } "
38+ LogshExec chmod +x " ${prog_version_exe:? } "
3939}
4040
4141ExecProgram () {
@@ -48,34 +48,35 @@ ExecProgram() {
4848 exec " ${prog_version_exe:? } " " $@ " < & 0
4949}
5050
51- # LISENCE: https://github.com/kunitsucom/rec .sh/blob/HEAD/LICENSE
51+ # LISENCE: https://github.com/kunitsucom/log .sh/blob/HEAD/LICENSE
5252# Common
53- if [ - t 2 ]; then REC_COLOR =true; else REC_COLOR =' ' ; fi
54- _recRFC3339 () { date " +%Y-%m-%dT%H:%M:%S%z" | sed " s/\(..\)$/:\1/" ; }
55- _recCmd () { for a in " $@ " ; do if echo " ${a:- } " | grep -Eq " [[:blank:]]" ; then printf " '%s' " " ${a:- } " ; else printf " %s " " ${a:- } " ; fi ; done | sed " s/ $//" ; }
53+ if [ " ${LOGSH_COLOR :- } " ] || [ - t 2 ] ; then LOGSH_COLOR =true; else LOGSH_COLOR =' ' ; fi
54+ _logshRFC3339 () { date " +%Y-%m-%dT%H:%M:%S%z" | sed " s/\(..\)$/:\1/" ; }
55+ _logshCmd () { for a in " $@ " ; do if echo " ${a:- } " | grep -Eq " [[:blank:]]" ; then printf " '%s' " " ${a:- } " ; else printf " %s " " ${a:- } " ; fi ; done | sed " s/ $//" ; }
5656# Color
57- RecDefault () { test " ${REC_SEVERITY:- 0} " -gt 000 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;35m} DEFAULT${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
58- RecDebug () { test " ${REC_SEVERITY:- 0} " -gt 100 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;34m} DEBUG${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
59- RecInfo () { test " ${REC_SEVERITY:- 0} " -gt 200 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;32m} INFO${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
60- RecNotice () { test " ${REC_SEVERITY:- 0} " -gt 300 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;36m} NOTICE${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
61- RecWarning () { test " ${REC_SEVERITY:- 0} " -gt 400 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;33m} WARNING${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
62- RecError () { test " ${REC_SEVERITY:- 0} " -gt 500 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;31m} ERROR${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
63- RecCritical () { test " ${REC_SEVERITY:- 0} " -gt 600 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;1;31m} CRITICAL${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
64- RecAlert () { test " ${REC_SEVERITY:- 0} " -gt 700 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;41m} ALERT${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
65- RecEmergency () { test " ${REC_SEVERITY:- 0} " -gt 800 2> /dev/null || echo " $* " | awk " {print \" $( _recRFC3339) [${REC_COLOR: +\\ 033[0;1;41m}EMERGENCY${REC_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
66- RecExec () { RecInfo " $ $( _recCmd " $@ " ) " && " $@ " ; }
67- RecRun () { _dlm=" ####R#E#C#D#E#L#I#M#I#T#E#R####" && _all=$( { _out=$( " $@ " ) && _rtn=$? || _rtn=$? && printf " \n%s" " ${_dlm:? }${_out:- } " && return " ${_rtn:- 0} " ; } 2>&1 ) && _rtn=$? || _rtn=$? && _dlmno=$( echo " ${_all:- } " | sed -n " /${_dlm:? } /=" ) && _cmd=$( _recCmd " $@ " ) && _stdout=$( echo " ${_all:- } " | tail -n +" ${_dlmno:- 1} " | sed " s/^${_dlm:? } //" ) && _stderr=$( echo " ${_all:- } " | head -n " ${_dlmno:- 1} " | grep -v " ^${_dlm:? } " ) && RecInfo " $ ${_cmd:- } " && { [ -z " ${_stdout:- } " ] || RecInfo " ${_stdout:? } " ; } && { [ -z " ${_stderr:- } " ] || RecWarning " ${_stderr:? } " ; } && return " ${_rtn:- 0} " ; }
57+ LogshDefault () { test " ${LOGSH_LEVEL:- 0} " -gt 000 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;35m} DEFAULT${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
58+ LogshDebug () { test " ${LOGSH_LEVEL:- 0} " -gt 100 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;34m} DEBUG${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
59+ LogshInfo () { test " ${LOGSH_LEVEL:- 0} " -gt 200 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;32m} INFO${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
60+ LogshNotice () { test " ${LOGSH_LEVEL:- 0} " -gt 300 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;36m} NOTICE${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
61+ LogshWarn () { test " ${LOGSH_LEVEL:- 0} " -gt 400 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;33m} WARN${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
62+ LogshWarning () { test " ${LOGSH_LEVEL:- 0} " -gt 400 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;33m} WARNING${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
63+ LogshError () { test " ${LOGSH_LEVEL:- 0} " -gt 500 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;31m} ERROR${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
64+ LogshCritical () { test " ${LOGSH_LEVEL:- 0} " -gt 600 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;1;31m} CRITICAL${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
65+ LogshAlert () { test " ${LOGSH_LEVEL:- 0} " -gt 700 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;41m} ALERT${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
66+ LogshEmergency () { test " ${LOGSH_LEVEL:- 0} " -gt 800 || echo " $* " | awk " {print \" $( _logshRFC3339) [${LOGSH_COLOR: +\\ 033[0;1;41m}EMERGENCY${LOGSH_COLOR:+\\033[0m}] \"\$ 0\"\" } " 1>&2 ; }
67+ LogshExec () { LogshInfo " $ $( _logshCmd " $@ " ) " && " $@ " ; }
68+ LogshRun () { _dlm=" ####R#E#C#D#E#L#I#M#I#T#E#R####" && _all=$( { _out=$( " $@ " ) && _rtn=$? || _rtn=$? && printf " \n%s" " ${_dlm:? }${_out:- } " && return " ${_rtn:- 0} " ; } 2>&1 ) && _rtn=$? || _rtn=$? && _dlmno=$( echo " ${_all:- } " | sed -n " /${_dlm:? } /=" ) && _cmd=$( _logshCmd " $@ " ) && _stdout=$( echo " ${_all:- } " | tail -n +" ${_dlmno:- 1} " | sed " s/^${_dlm:? } //" ) && _stderr=$( echo " ${_all:- } " | head -n " ${_dlmno:- 1} " | grep -v " ^${_dlm:? } " ) && LogshInfo " $ ${_cmd:- } " && LogshInfo " ${_stdout:- } " && { [ -z " ${_stderr:- } " ] || LogshWarning " ${_stderr:? } " ; } && return " ${_rtn:- 0} " ; }
6869
6970# versenv common
7071DownloadURL () {
7172 local url=" ${1:? } "
7273 local file=" ${2:? } "
7374 if command -v curl > /dev/null; then
74- RecExec curl --tlsv1.2 --connect-timeout 2 --progress-bar -fLR " ${url:? } " -o " ${file:? } "
75+ LogshExec curl --tlsv1.2 --connect-timeout 2 --progress-bar -fLR " ${url:? } " -o " ${file:? } "
7576 elif command -v wget > /dev/null; then
76- RecExec wget --secure-protocol=TLSv1_2 --dns-timeout=2 --connect-timeout=2 -q " ${url:? } " -O " ${file:? } "
77+ LogshExec wget --secure-protocol=TLSv1_2 --dns-timeout=2 --connect-timeout=2 -q " ${url:? } " -O " ${file:? } "
7778 else
78- RecCritical " command not found: curl or wget"
79+ LogshError " command not found: curl or wget"
7980 exit 127
8081 fi
8182}
@@ -88,7 +89,7 @@ GetURLs() {
8889 elif command -v curl > /dev/null; then
8990 curl --tlsv1.2 --connect-timeout 2 -fLRSs " ${url:? } "
9091 else
91- RecCritical " command not found: curl or wget"
92+ LogshError " command not found: curl or wget"
9293 exit 127
9394 fi
9495 done
@@ -101,7 +102,7 @@ HeadURL() {
101102 elif command -v curl > /dev/null; then
102103 curl --tlsv1.2 --connect-timeout 2 -fIRSs " ${url:? } "
103104 else
104- RecCritical " command not found: curl or wget"
105+ LogshError " command not found: curl or wget"
105106 exit 127
106107 fi
107108}
@@ -112,16 +113,16 @@ SubcommandSelfUpdate() {
112113 local tmp_dir=/tmp/versenv/bin
113114 local tmp_file=${tmp_dir:? } /${exe_filename:? }
114115 local backup_file=" ${tmp_file:? } .backup"
115- RecNotice " Download ${self_update_url:? } "
116+ LogshNotice " Download ${self_update_url:? } "
116117 mkdir -p " ${tmp_dir:? } "
117118 DownloadURL " ${self_update_url:? } " " ${tmp_file:? } "
118- RecNotice " Take backup ${script_file_path:? } to ${backup_file:? } "
119- RecExec mv -f " ${script_file_path:? } " " ${backup_file:? } "
120- RecNotice " Show the changes between old and new"
121- RecExec diff -u " ${backup_file:? } " " ${tmp_file:? } " || true
122- RecNotice " Update ${script_file_path:? } to ${self_update_url:? } "
123- RecExec chmod +x " ${tmp_file:? } "
124- RecExec mv -f " ${tmp_file:? } " " ${script_file_path:? } "
119+ LogshNotice " Take backup ${script_file_path:? } to ${backup_file:? } "
120+ LogshExec mv -f " ${script_file_path:? } " " ${backup_file:? } "
121+ LogshNotice " Show the changes between old and new"
122+ LogshExec diff -u " ${backup_file:? } " " ${tmp_file:? } " || true
123+ LogshNotice " Update ${script_file_path:? } to ${self_update_url:? } "
124+ LogshExec chmod +x " ${tmp_file:? } "
125+ LogshExec mv -f " ${tmp_file:? } " " ${script_file_path:? } "
125126}
126127
127128MustFoundCommands () {
@@ -136,7 +137,7 @@ MustFoundCommands() {
136137 if [[ " ${# not_found_commands[@]} " -eq 0 ]]; then
137138 return
138139 fi
139- RecCritical " command not found: ${not_found_commands[*]} "
140+ LogshError " command not found: ${not_found_commands[*]} "
140141 exit 127
141142}
142143
@@ -148,15 +149,15 @@ ResolveProgramVersion() {
148149 echo " ${! env_key_version:? } "
149150 else
150151 ver=$( GetProgramLatestStableVersion)
151- RecNotice " env ${env_key_version:? } is not set. Use latest stable version: ${env_key_version:? } =${ver:- " ?" } "
152+ LogshNotice " env ${env_key_version:? } is not set. Use latest stable version: ${env_key_version:? } =${ver:- " ?" } "
152153 echo " ${ver:- } "
153154 fi
154155 )
155156 if [[ " ${version:- } " ]]; then
156157 echo " ${version:? } "
157158 return 0
158159 else
159- RecCritical " Failed to resolve version"
160+ LogshError " Failed to resolve version"
160161 return 1
161162 fi
162163}
0 commit comments