refactor(setcap-netbind): update bash to style, update docs
[webi-installers/.git] / setcap-netbind / setcap-netbind.sh
index 08f1fea56df743dca26ac95f542b93ea566f3f2b..97620b5d541c9f3446502b1dc4f297e4cda30a59 100644 (file)
@@ -1,17 +1,26 @@
 #!/bin/bash
+set -e
+set -u
 
-{
-    set -e
-    set -u
+my_bin="${1}"
+# ex: node
+if [ -z "$(command -v "${my_bin}")" ]; then
+    echo "setcap-netbind: '${my_bin}' not found"
+    exit 1
+fi
 
-    my_bin="$1"
-    if [ -z "$(which $my_bin)" ]; then
-        echo "'$my_bin' not found"
-        exit 1
-    fi
-    my_sudo=""
-    if [ -n "$(command -v sudo)" ]; then
-        my_sudo=sudo
-    fi
-    $my_sudo setcap 'cap_net_bind_service=+ep' $(readlink -f $(which $my_bin))
-}
+my_sudo=""
+if [ -n "$(command -v sudo)" ]; then
+    my_sudo=sudo
+fi
+
+# get full path
+# ex: ~/.local/opt/node/bin/node
+my_bin="$(command -v "${my_bin}")"
+
+# get canonical full path
+# ex: ~/.local/opt/node-v16.13.0/bin/node
+my_bin="$(readlink -f "${my_bin}")"
+
+# ex: sudo setcap 'cap_net_bind_service=+ep' ~/.local/opt/node-v16.13.0/bin/node"
+"${my_sudo}" setcap 'cap_net_bind_service=+ep' "${my_bin}"