aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-20 12:02:47 -0500
committerCraig Jennings <c@cjennings.net>2026-05-20 12:02:47 -0500
commit618e6cce0b1662f50c6e766bba7e11b6d6952532 (patch)
tree20f90c1b162138dad1ef53de69765cbc931dd8df
parent2172c904e34e044ba938d5a4948182d9fd878816 (diff)
downloadarchsetup-618e6cce0b1662f50c6e766bba7e11b6d6952532.tar.gz
archsetup-618e6cce0b1662f50c6e766bba7e11b6d6952532.zip
fix: correct a POSIX-sh bashism in init and document two SC2034 cases
init runs under #!/bin/sh but used $(<file) to read /etc/hostname, a bashism that breaks on a strict POSIX sh. I switched it to $(cat) and quoted $interface_up in the same script. The two VM_IP assignments in the test scripts are read by the sourced validation.sh, which shellcheck can't follow, so they now carry a documented disable=SC2034 instead of a bare suppression. The rest of the shellcheck findings across the scripts are intentional (word-splitting on $SSH_OPTS, integer tests in [ ]) or already accepted, so I left them alone.
-rwxr-xr-xinit4
-rwxr-xr-xscripts/testing/run-test-baremetal.sh1
-rwxr-xr-xscripts/testing/run-test.sh1
3 files changed, 4 insertions, 2 deletions
diff --git a/init b/init
index a9ac5f3..a20bf7c 100755
--- a/init
+++ b/init
@@ -8,11 +8,11 @@ pacman -S --noconfirm tmux git
echo "root:welcome" | chpasswd
# find the hostname from the file
-hostname=$(</etc/hostname)
+hostname=$(cat /etc/hostname)
# identify which interface is up, then find the ip address
interface_up=$(ip -br addr show | grep UP | grep -v 'lo' | awk '{print $1}' | head -n1)
-ipaddress=$(ip addr show $interface_up | grep 'inet ' | awk '{print $2}' | cut -d/ -f1)
+ipaddress=$(ip addr show "$interface_up" | grep 'inet ' | awk '{print $2}' | cut -d/ -f1)
# start the ssh daemon
systemctl start sshd
diff --git a/scripts/testing/run-test-baremetal.sh b/scripts/testing/run-test-baremetal.sh
index 3beaefc..b6d1ab1 100755
--- a/scripts/testing/run-test-baremetal.sh
+++ b/scripts/testing/run-test-baremetal.sh
@@ -94,6 +94,7 @@ cleanup_baremetal() {
trap cleanup_baremetal EXIT
# Override VM_IP for validation.sh ssh_cmd function
+# shellcheck disable=SC2034 # consumed by the sourced validation.sh
VM_IP="$TARGET_HOST"
# Initialize logging
diff --git a/scripts/testing/run-test.sh b/scripts/testing/run-test.sh
index 18f4fdf..a02412c 100755
--- a/scripts/testing/run-test.sh
+++ b/scripts/testing/run-test.sh
@@ -84,6 +84,7 @@ ARCHZFS_INBOX="$HOME/code/archzfs/inbox"
ARCHSETUP_VM_CONF="$SCRIPT_DIR/archsetup-vm.conf"
# Set VM_IP for validation.sh backward compatibility
+# shellcheck disable=SC2034 # consumed by the sourced validation.sh
VM_IP="localhost"
# Initialize logging and VM paths