treewide: replace which with command -v

Fix shellcheck SC2230
> which is non-standard. Use builtin 'command -v' instead.

Once applied to everything concerning OpenWrt we can disable the busybox
feature `which` and save 3.8kB.

Signed-off-by: Paul Spooren <mail@aparcar.org>
This commit is contained in:
Paul Spooren
2020-08-09 13:19:25 -10:00
parent 416dccf72a
commit 30ea917518
11 changed files with 28 additions and 28 deletions

View File

@@ -33,7 +33,7 @@ timer2dhms() {
# using function to not confuse function calls with existing ones inside /lib/functions.sh
update_config() {
uc_uci="$(which uci) -q" # ignore errors
uc_uci="$(command -v uci) -q" # ignore errors
uc_cfg=""
uc_name=""
uc_var=""

View File

@@ -73,23 +73,23 @@ DNS_CHARSET="[@a-zA-Z0-9._-]"
LUCI_HELPER=$(printf %s "$MYPROG" | grep -i "luci")
# Name Server Lookup Programs
BIND_HOST=$(which host)
KNOT_HOST=$(which khost)
DRILL=$(which drill)
HOSTIP=$(which hostip)
NSLOOKUP=$(which nslookup)
BIND_HOST=$(command -v host)
KNOT_HOST=$(command -v khost)
DRILL=$(command -v drill)
HOSTIP=$(command -v hostip)
NSLOOKUP=$(command -v nslookup)
# Transfer Programs
WGET=$(which wget)
WGET_SSL=$(which wget-ssl)
WGET=$(command -v wget)
WGET_SSL=$(command -v wget-ssl)
CURL=$(which curl)
CURL=$(command -v curl)
# CURL_SSL not empty then SSL support available
CURL_SSL=$($CURL -V 2>/dev/null | grep -F "https")
# CURL_PROXY not empty then Proxy support available
CURL_PROXY=$(find /lib /usr/lib -name libcurl.so* -exec strings {} 2>/dev/null \; | grep -im1 "all_proxy")
UCLIENT_FETCH=$(which uclient-fetch)
UCLIENT_FETCH=$(command -v uclient-fetch)
# Global configuration settings
# allow NON-public IP's
@@ -491,8 +491,8 @@ sanitize_variable() {
verify_host_port() {
local __HOST=$1
local __PORT=$2
local __NC=$(which nc)
local __NCEXT=$($(which nc) --help 2>&1 | grep "\-w" 2>/dev/null) # busybox nc compiled with extensions
local __NC=$(command -v nc)
local __NCEXT=$($(command -v nc) --help 2>&1 | grep "\-w" 2>/dev/null) # busybox nc compiled with extensions
local __IP __IPV4 __IPV6 __RUNPROG __PROG __ERR
# return codes
# 1 system specific error
@@ -921,7 +921,7 @@ get_local_ip () {
[ -n "$__DATA" ] && write_log 7 "Local IP '$__DATA' detected on network '$ip_network'"
elif [ -n "$ip_interface" -a "$ip_source" = "interface" ]; then
local __DATA4=""; local __DATA6=""
if [ -n "$(which ip)" ]; then # ip program installed
if [ -n "$(command -v ip)" ]; then # ip program installed
write_log 7 "#> ip -o addr show dev $ip_interface scope global >$DATFILE 2>$ERRFILE"
ip -o addr show dev $ip_interface scope global >$DATFILE 2>$ERRFILE
__ERR=$?
@@ -1124,7 +1124,7 @@ get_registered_ip() {
__RUNPROG="$__PROG $lookup_host >$DATFILE 2>$ERRFILE"
__PROG="hostip"
elif [ -n "$NSLOOKUP" ]; then # last use BusyBox nslookup
NSLOOKUP_MUSL=$($(which nslookup) localhost 2>&1 | grep -F "(null)") # not empty busybox compiled with musl
NSLOOKUP_MUSL=$($(command -v nslookup) localhost 2>&1 | grep -F "(null)") # not empty busybox compiled with musl
[ $force_dnstcp -ne 0 ] && \
write_log 14 "Busybox nslookup - no support for 'DNS over TCP'"
[ -n "$NSLOOKUP_MUSL" -a -n "$dns_server" ] && \

View File

@@ -5,7 +5,7 @@ local __URL="https://freedns.42.pl/xmlrpc.php"
[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing 'username'"
[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing 'password'"
[ $ip_dynamic -eq 1 ] && __IP='\&lt;dynamic\&gt;'
PROG="$(which curl) -sk"
PROG="$(command -v curl) -sk"
write_log 7 "sending update to freedns.42.pl with ip $__IP"
XMLDATA="<?xml version='1.0'?><methodCall><methodName>xname.updateArecord</methodName><params><param><value><struct><member><name>name</name><value><string>[RECORDNAME]</string></value></member><member><name>zone</name><value><string>[ZONENAME]</string></value></member><member><name>oldaddress</name><value><string>*</string></value></member><member><name>updatereverse</name><value><string>0</string></value></member><member><name>user</name><value><string>[USERNAME]</string></value></member><member><name>ttl</name><value><string>600</string></value></member><member><name>newaddress</name><value><string>[IP]</string></value></member><member><name>password</name><value><string>[PASSWORD]</string></value></member></struct></value></param></params></methodCall>"
XMLDATA=$(echo $XMLDATA | sed -e "s#\[USERNAME\]#$URL_USER#g" -e "s#\[PASSWORD\]#$URL_PASS#g" \

View File

@@ -17,8 +17,8 @@
#
local __TTL=600 #.preset DNS TTL (in seconds)
local __RRTYPE __PW __TCP
local __PROG=$(which nsupdate) # BIND nsupdate ?
[ -z "$__PROG" ] && __PROG=$(which knsupdate) # Knot nsupdate ?
local __PROG=$(command -v nsupdate) # BIND nsupdate ?
[ -z "$__PROG" ] && __PROG=$(command -v knsupdate) # Knot nsupdate ?
[ -z "$__PROG" ] && write_log 14 "'nsupdate' or 'knsupdate' not installed !"
[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing 'username'"