'local result=$(cmd)' resets $? to 0 (the local builtin's own exit), so the
following checkSuccess always saw success regardless of cmd's real exit — the
mechanism that masked the de-sudo write failures. Split declaration from
assignment ('local result; result=$(cmd)') across all 235 active-code sites
(84 files) so the command's exit reaches checkSuccess. No behaviour change
beyond $? now being accurate (no set -e in runtime code; multi-line
assignments transform safely).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
37 lines
1.3 KiB
Bash
Executable File
37 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
installDockerRooted()
|
|
{
|
|
# Check if Docker is already installed
|
|
if [[ "$OS_TYPE" == "Ubuntu" || "$OS_TYPE" == "Debian" ]]; then
|
|
isHeader "Rooted Docker Installation"
|
|
if command -v docker &> /dev/null; then
|
|
isSuccessful "Docker is already installed."
|
|
else
|
|
local result; result=$(sudo curl -fsSL https://get.docker.com | sh )
|
|
checkSuccess "Downloading & Installing Docker"
|
|
|
|
dockerServiceStart;
|
|
|
|
while true; do
|
|
echo ""
|
|
isNotice "It's recommended to restart your system after installing Docker."
|
|
echo ""
|
|
isQuestion "Would you like to restart your system as recommended? (y/n): "
|
|
read -p "" restart_after_docker_install
|
|
if [[ -n "$restart_after_docker_install" ]]; then
|
|
break
|
|
fi
|
|
isNotice "Please provide a valid input."
|
|
done
|
|
if [[ "$restart_after_docker_install" == [yY] ]]; then
|
|
sudo reboot
|
|
fi
|
|
if [[ "$restart_after_docker_install" == [nN] ]]; then
|
|
isNotice "Skipping reboot..."
|
|
fi
|
|
fi
|
|
|
|
isSuccessful "Docker has been installed and configured."
|
|
fi
|
|
} |