cURL 状态栏不显示

cURL 状态栏不显示

我在 bash 脚本中做了一些事情,但我的 cURL 命令不再显示状态栏。我需要将 HTTP 响应代码保存到变量 $status:

我有:

status=$(curl -s -S -o curl.tmp -w %{http_code} --progress-bar -u $USERNAME:$PASSWORD -T "$FILE_TO_UPLOAD" "$FILE_ON_REMOTE_SERVER" )
status=$(($status + 0)) # force integer

if [[ $status > 400 ]]; then
   # an error occurred; do something
fi

为什么进度条不显示?

答案1

使用-s“静默模式”选项将阻止curl 显示进度条:

来自curl手册页:

-s,--silent

静音或安静模式。不显示进度表或错误消息。让 Curl 静音。它仍然会输出您要求的数据,甚至可能输出到终端/标准输出,除非您重定向它。

除了此选项之外,还可以-S使用来禁用进度表,但仍显示错误消息。--show-error

另请参见-v--verbose--stderr

相关内容