better solution to define used commands implemented

This commit is contained in:
2021-11-08 13:44:54 +01:00
parent 63274d1143
commit a67b3cdf5f
2 changed files with 18 additions and 23 deletions
+11
View File
@@ -35,6 +35,17 @@ std::die() {
exit $ec
}
std::def_cmds(){
local path="$1"
shift
for cmd in "$@"; do
eval declare -g ${cmd}=$(PATH="${path}" which $cmd 2>/dev/null)
if [[ -z "${!cmd}" ]]; then
std::die 255 "${cmd} not found"
fi
done
}
#
# get answer to yes/no question
#
+7 -23
View File
@@ -13,30 +13,14 @@ declare prefix=$(dirname "${mydir}")
declare -r libdir="${prefix}/lib"
declare -r libexecdir="${prefix}/libexec"
base64=$(PATH=/bin:/usr/bin /usr/bin/which base64)
declare -r base64
mktemp=$(PATH=/bin:/usr/bin /usr/bin/which mktemp)
declare -r mktemp
sort=$(PATH=/bin:/usr/bin /usr/bin/which sort)
declare -r sort
awk=$(PATH=/bin:/usr/bin /usr/bin/which awk)
declare -r awk
rm=$(PATH=/bin:/usr/bin /usr/bin/which rm)
declare -r rm
logger=$(PATH=/bin:/usr/bin /usr/bin/which logger)
declare -r logger
if [[ $(uname -s) == 'Darwin' ]]; then
declare -r getopt="${libexecdir}/getopt"
declare -r find="${libexecdir}/find"
else
getopt=$(PATH=/bin:/usr/bin /usr/bin/which getopt)
declare -r getopt
find=$(PATH=/bin:/usr/bin /usr/bin/which find)
declare -r find
fi
source "${libdir}/libstd.bash"
source "${libdir}/libpmodules.bash"
path="/bin:/usr/bin"
[[ $(uname -s) == 'Darwin' ]] && path+=":${libexecdir}"
std::def_cmds "${path}" \
'awk' 'base64' 'find' 'getopt' 'logger' 'mktemp' \
'rm' 'sort' 'find'
if [[ ${PMODULES_PURETCL} == yes ]]; then
declare -r modulecmd="${libexecdir}/modulecmd.tcl"