I was trying to read up on it and just based off of the manual it seems not to make sense if I’m not using --silent alongside it, but I found this one article stating otherwise: https://nrogap.medium.com/show-error-response-for-curl-64666cd64330

I can’t figure out if it’s just AI slop or badly researched since it doesn’t even show a real URL to test the commands against.

Manual entry:

       -S, --show-error
              When used with  -s,  --silent,  it
              makes  curl  show an error message
              if it fails.

              This option is global and does not
              need  to be specified for each use
              of -:, --next.

              Providing -S, --show-error  multi‐
              ple  times  has  no  extra effect.
              Disable it again  with  --no-show-
              error.

              Example:
               curl --show-error --silent https://
example.com

              See also --no-progress-meter.
  • Max-P@lemmy.max-p.me
    link
    fedilink
    arrow-up
    4
    ·
    4 hours ago

    I’ve had to use that flag.

    --silent is useful when you don’t want the progress bar or you’re piping curl into something else. I like to do curl | tar -zxv to download and decompress at the same time, I’ve even tar -zc | curl to upload a backup taking no disk space to do so.

    The problem however is it’s really silent: if it fails, it exits with a non-zero code and that’s it. Great when you don’t want debug info to interfere, annoying when you need to debug it.

    So you can opt-in to print some errors when in silent mode, but otherwise be silent.

      • Max-P@lemmy.max-p.me
        link
        fedilink
        arrow-up
        1
        ·
        4 hours ago

        They’re just examples of things you could pipe curl into, but no not really. If the download fails you end up with an incomplete file in your tmpfs anyway, and have to retry. Another use I have is curl | mysql to restore a database backup.

        If the server supports resuming, I guess that can be better than the pipe, but that still needs temporary disk space, and downloads rarely fail. You can’t corrupt downloads over HTTPS either as the encryption layer would notice it and kill the connection, so it’s safe to assume if it downloaded in full, it’s correct.

        With downloads being IO bound these days, it’s nice to not have to read it all back and write the extracted files to disk afterwards. Only writes the final files once.

        That’s far from the weirdest thing I’ve done with pipes though, I’ve installed Windows 11 on a friend’s PC across the ocean with a curl | zstd | pv | dd, and it worked. We tried like 5 different USBs and different ISOs and I gave up, I just installed it in a VM and shipped the image.

    • QuazarOmega@lemy.lolOP
      link
      fedilink
      arrow-up
      1
      ·
      1 hour ago

      I couldn’t find an endpoint to test this with, picking out a random inexistent domain I could just see that without parameters I get the errors, with silent I get none, with show-error I get the same output as no parameters, with both I get the same output as no parameters again.
      This is as far as I can get without reading into the source code, I already searched on the internet with no luck because all others posts I could find assume it is paired with another parameter