fix(install): Improve interactive terminal detection and update installation instructions

This commit is contained in:
Philipp Kunz 2025-03-25 13:12:38 +00:00
parent bd00dfe02c
commit ed78db20e2
4 changed files with 24 additions and 10 deletions

View File

@ -1,5 +1,11 @@
# Changelog
## 2025-03-25 - 2.4.5 - fix(install)
Improve interactive terminal detection and update installation instructions
- Enhanced install.sh to better detect non-interactive environments and provide clearer guidance for both interactive and non-interactive installations
- Updated README.md quick install instructions to recommend process substitution and clarify auto-yes usage
## 2025-03-25 - 2.4.4 - fix(install)
Improve interactive mode detection and non-interactive installation handling in install.sh

View File

@ -60,8 +60,8 @@ fi
if [ ! -t 0 ] || [ ! -t 1 ]; then
# Either stdin or stdout is not a terminal, check if -y was provided
if [ $AUTO_YES -ne 1 ]; then
echo "Warning: Running in non-interactive mode without -y flag."
echo "Will ask for confirmation via controlling terminal."
echo "Script detected it's running in a non-interactive environment without -y flag."
echo "Attempting to find a controlling terminal for interactive prompts..."
# Try to use a controlling terminal for user input
if [ -t 1 ]; then
# Stdout is a terminal, use it
@ -72,9 +72,14 @@ if [ ! -t 0 ] || [ ! -t 1 ]; then
fi
if [ $INTERACTIVE -eq 0 ]; then
echo "No controlling terminal available. To run non-interactively, use:"
echo " curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -s -- -y"
echo "ERROR: No controlling terminal available for interactive prompts."
echo "For interactive installation (RECOMMENDED):"
echo " sudo bash <(curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh)"
echo "For non-interactive installation with automatic dependency installation:"
echo " sudo bash <(curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh) -y"
exit 1
else
echo "Interactive terminal found, continuing with prompts..."
fi
fi
fi

View File

@ -19,13 +19,16 @@ NUPST is a command-line tool that monitors SNMP-enabled UPS devices and initiate
### Quick Install (One-line command)
```bash
# Install directly without cloning the repository (requires root privileges)
# This will interactively prompt for installing any dependencies
curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash
# RECOMMENDED: Install interactively using process substitution (requires root privileges)
# This ensures proper interactive prompts for dependencies
sudo bash <(curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh)
# Install with auto-yes for dependencies (will install git automatically if needed)
# Alternative: Install with auto-yes for dependencies (will install git automatically if needed)
# Use this for automated/non-interactive installations
curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -c "bash -s -- -y"
sudo bash <(curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh) -y
# For systems where process substitution is not available (e.g., some older shells)
curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -s -- -y
```
### Direct from Git

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@serve.zone/nupst',
version: '2.4.4',
version: '2.4.5',
description: 'Node.js UPS Shutdown Tool for SNMP-enabled UPS devices'
}