diff --git a/changelog.md b/changelog.md index 980f8ba..645bcda 100644 --- a/changelog.md +++ b/changelog.md @@ -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 diff --git a/install.sh b/install.sh index e974a0b..8056c5f 100644 --- a/install.sh +++ b/install.sh @@ -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 diff --git a/readme.md b/readme.md index 91764be..1a4d0c1 100644 --- a/readme.md +++ b/readme.md @@ -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 diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 2ca5ab3..5559faa 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -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' }