Fix critical issues in install.sh script - syntax errors, shellcheck warnings, and add version detection fallback #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
install.shscript had multiple critical issues that prevented proper functionality and posed security risks. This PR addresses all identified problems and significantly improves the script's robustness with enhanced error handling.Critical Issues Fixed
Syntax Error: Fixed a critical syntax error on line 88 where
${$arch}should have been${arch}, which would have caused the script to fail when reporting unsupported architectures.Architecture Detection: Completely rewrote the architecture detection logic to properly handle all cases:
archvariable empty_x86_64to_amd64to match actual GitHub release assetsaarch64andarm64architecture namesChecksum Verification: Re-enabled the previously commented-out checksum verification function:
waitfor_checksums.txttochecksums.txtto match actual release assetsVersion Detection Fallback: Implemented robust fallback mechanism for version detection failures:
releases/latest/download/URL format for fallback downloadsShellcheck Compliance
Resolved all 20+ shellcheck warnings and errors:
[ "$?" = "0" ]) with direct command tests (if command; then)has,hasCurl,hasTar)==with=for string comparisonsSecurity & Robustness Improvements
Validation
The updated script passes:
The script now provides a secure, robust installation experience with clear error messages and proper handling of edge cases, including network issues that may prevent version detection.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.