If the server answers 400 or above, print nothing to stdout and exit with code 22.
Without itA 404 page arrives as HTML on stdout, exit code 0, and sh tries to run <!DOCTYPE html>.
Four flags. What they promise, and what they leave to trust.
Tap the command to read it as a domain.If the server answers 400 or above, print nothing to stdout and exit with code 22.
Without itA 404 page arrives as HTML on stdout, exit code 0, and sh tries to run <!DOCTYPE html>.
Hide the progress meter and error messages. Nothing on stderr unless you ask for it.
Without itA transfer table scrolls past on stderr in the middle of your install log.
Used with -s: stay quiet about progress, but still say why it failed.
Without it-s swallows errors too. A dead host fails with no message at all.
Follow 3xx redirects to wherever the script actually lives now.
Without itYou download a tiny “Moved Permanently” page instead of the installer.
shStderr is dim. Stdout is what the shell runs.
The flags catch a bad download. They do not read the script.
You run whatever the server sends.
curl -fsSL https://example.com/install.sh | sh
Save it, read it, then run it.
curl -fsSLo install.sh https://example.com/install.sh less install.sh sh install.sh
Each link is curl-fs.sl/<url>|sh. Scores stick for a day.
Loading installers…
sh?
Paste a script. Get a verdict.