即使使用 --silent 选项,curl 仍然会发出进度信息

即使使用 --silent 选项,curl 仍然会发出进度信息

我有这个curl命令:

  curl --silent -o- https://raw.githubusercontent.com/oresoftware/run-tsc-if/master/install.sh | bash || {
   echo "Could not install run-tsc-if on your system.";
   exit 1;
  }

它仍然将进度信息写为 stderr:

ntrs update routine stderr:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
ntrs update routine stderr:                                  Dload  Upload   Total   Spent    Left  Speed
100   876  100   876    0     0   2304      0 --:--:-- --:--:-- --:--:--  2305

它仍在将进度信息写入 stderr。我在 MacOS 上。有人知道为什么curl 行为不端吗?

答案1

curl --silent您获取并执行的脚本bash包含对curl 没有--silent选项,这就是您看到进度指示器的原因。

远程脚本的相关部分:

curl -H 'Cache-Control: no-cache' "https://raw.githubusercontent.com/oresoftware/run-tsc-if/master/run.sh?$(date +%s)" \
--output "$HOME/.oresoftware/bash/run-tsc-if.sh"

在运行来自互联网的随机脚本之前,请务必查看它们以了解它们在做什么。

相关内容