我在 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
。