[PATCH 1/1] install-dep: Use command -v instead of which

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



`command -v' is shell builtin required by POSIX [1] and supported on all
common shells (bash, zsh, dash, busybox sh, mksh). `which' utility is not
presented on some containers (e.g. Fedora, openSUSE), also going to be
removed from future Debian versions.

Also remove stderr redirection to /dev/null as it's unnecessary when
using 'command': POSIX says "no output shall be written" if the command
isn't found.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html
[2] https://salsa.debian.org/debian/debianutils/-/commit/3a8dd10b4502f7bae8fc6973c13ce23fc9da7efb

Signed-off-by: Petr Vorel <pvorel@xxxxxxx>
---
 install-dep | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/install-dep b/install-dep
index 621618fe..4698d44a 100755
--- a/install-dep
+++ b/install-dep
@@ -2,20 +2,20 @@
 #install dependencies for compiling from source code
 
 #RHEL/Fedora/CentOS-Stream/Rocky
-which dnf &>/dev/null || which yum &>/dev/null && {
+command -v dnf >/dev/null || command -v yum >/dev/null && {
 	yum install -y automake libtool make gcc rpcgen libtirpc-devel libevent-devel sqlite-devel device-mapper-devel \
 		libblkid-devel krb5-devel libuuid-devel
 }
 
 #Debian/ubuntu
-which apt &>/dev/null && {
+command -v apt >/dev/null && {
 	apt install -o APT::Install-Suggests=0 -o APT::Install-Recommends=0 --ignore-missing -y \
 		autotools-dev automake make libtool pkg-config libtirpc-dev libevent-dev libsqlite3-dev \
 		libdevmapper-dev libblkid-dev libkrb5-dev libkeyutils-dev uuid-dev
 }
 
 #openSUSE Leap
-which zypper &>/dev/null && {
+command -v zypper >/dev/null && {
 	zypper in --no-recommends -y automake libtool make gcc rpcgen libtirpc-devel libevent-devel sqlite-devel \
 		device-mapper-devel libblkid-devel krb5-devel libuuid-devel
 }
-- 
2.33.0




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux