From 1fdf6b745cc3d85be3743837817a360121554134 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Sun, 9 Aug 2020 15:33:37 -1000 Subject: [PATCH] treewide: replace `which` with `command -v` Fix shellcheck SC2230 > which is non-standard. Use builtin 'command -v' instead. Using `command -v` is POSIX compliant while `which` is not. Also to mention, `command -v` is a shell builtin whereas `which` is a separate busybox applet. Once applied to everything concerning OpenWrt we can disable the busybox feature `which` and save 3.8kB. Acked-by: Stijn Tintel Signed-off-by: Paul Spooren [also replace cases in zram-swap] Signed-off-by: Adrian Schmutzler --- include/rootfs.mk | 6 +++--- package/base-files/files/lib/upgrade/stage2 | 2 +- .../kernel/broadcom-wl/files/lib/wifi/broadcom.sh | 2 +- package/system/zram-swap/files/zram.init | 6 +++--- scripts/ipkg-build | 12 ++++++------ 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/rootfs.mk b/include/rootfs.mk index b6775c7e15fb..18ada3cd432c 100644 --- a/include/rootfs.mk +++ b/include/rootfs.mk @@ -69,7 +69,7 @@ define prepare_rootfs @( \ cd $(1); \ for script in ./usr/lib/opkg/info/*.postinst; do \ - IPKG_INSTROOT=$(1) $$(which bash) $$script; \ + IPKG_INSTROOT=$(1) $$(command -v bash) $$script; \ ret=$$?; \ if [ $$ret -ne 0 ]; then \ echo "postinst script $$script has failed with exit code $$ret" >&2; \ @@ -79,10 +79,10 @@ define prepare_rootfs for script in ./etc/init.d/*; do \ grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \ if ! echo " $(3) " | grep -q " $$(basename $$script) "; then \ - IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script enable; \ + IPKG_INSTROOT=$(1) $$(command -v bash) ./etc/rc.common $$script enable; \ echo "Enabling" $$(basename $$script); \ else \ - IPKG_INSTROOT=$(1) $$(which bash) ./etc/rc.common $$script disable; \ + IPKG_INSTROOT=$(1) $$(command -v bash) ./etc/rc.common $$script disable; \ echo "Disabling" $$(basename $$script); \ fi; \ done || true \ diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2 index dbb33e8958c8..a4fef42134c8 100755 --- a/package/base-files/files/lib/upgrade/stage2 +++ b/package/base-files/files/lib/upgrade/stage2 @@ -45,7 +45,7 @@ switch_to_ramfs() { snapshot snapshot_tool \ $RAMFS_COPY_BIN do - local file="$(which "$binary" 2>/dev/null)" + local file="$(command -v "$binary" 2>/dev/null)" [ -n "$file" ] && install_bin "$file" done install_file /etc/resolv.conf /lib/*.sh /lib/functions/*.sh /lib/upgrade/*.sh /lib/upgrade/do_stage2 /usr/share/libubox/jshn.sh $RAMFS_COPY_DATA diff --git a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh index 33447341b259..352c365f2752 100644 --- a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh @@ -223,7 +223,7 @@ enable_broadcom() { } local _c=0 - local nas="$(which nas)" + local nas="$(command -v nas)" local if_pre_up if_up nas_cmd local vif vif_pre_up vif_post_up vif_do_up vif_txpower local bssmax=$(wlc ifname "$device" bssmax) diff --git a/package/system/zram-swap/files/zram.init b/package/system/zram-swap/files/zram.init index a6126e578f1f..42c084855ab6 100755 --- a/package/system/zram-swap/files/zram.init +++ b/package/system/zram-swap/files/zram.init @@ -35,17 +35,17 @@ zram_applicable() return 1 } - which mkswap >/dev/null || { + command -v mkswap >/dev/null || { logger -s -t zram_applicable -p daemon.err "[ERROR] 'mkswap' not installed" return 1 } - which swapon >/dev/null || { + command -v swapon >/dev/null || { logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapon' not installed" return 1 } - which swapoff >/dev/null || { + command -v swapoff >/dev/null || { logger -s -t zram_applicable -p daemon.err "[ERROR] 'swapoff' not installed" return 1 } diff --git a/scripts/ipkg-build b/scripts/ipkg-build index 21127f33910c..6e027bc54633 100755 --- a/scripts/ipkg-build +++ b/scripts/ipkg-build @@ -10,10 +10,10 @@ set -e version=1.0 -FIND="$(which find)" -FIND="${FIND:-$(which gfind)}" -TAR="${TAR:-$(which tar)}" -GZIP="$(which gzip)" +FIND="$(command -v find)" +FIND="${FIND:-$(command -v gfind)}" +TAR="${TAR:-$(command -v tar)}" +GZIP="$(command -v gzip)" # try to use fixed source epoch if [ -n "$SOURCE_DATE_EPOCH" ]; then @@ -21,10 +21,10 @@ if [ -n "$SOURCE_DATE_EPOCH" ]; then # look up date of last commit elif [ -d "$TOPDIR/.git" ]; then - GIT="$(which git)" + GIT="$(command -v git)" TIMESTAMP=$(cd $TOPDIR; $GIT log -1 -s --format=%ci) elif [ -d "$TOPDIR/.svn" ]; then - SVN="$(which svn)" + SVN="$(command -v svn)" TIMESTAMP=$($SVN info "$TOPDIR" | sed -n "s/^Last Changed Date: \(.*\)/\1/p") else TIMESTAMP=$(date) -- 2.30.2