我需要通过执行以下操作来检查远程文件是否存在:url响应:
curl -u myself:XXXXXX -Is https://mylink/path/to/file | head -1
什么可以提供这样的东西:
'HTTP/1.1 200 OK
'
或
'HTTP/1.1 404 Not Found
'
现在,我想从上面的结果字符串中提取像200
这样的http状态代码,并将数字分配给变量。我怎么能这样做?
答案 0 :(得分:2)
使用-o
选项将标头发送至/dev/null
,并使用-w
选项仅输出 状态。
$ curl -o /dev/null -u myself:XXXXXX -Isw '%{http_code}\n' https://mylink/path/to/file
200
$
如果您打算将状态捕获到变量,则可以从格式中省略换行符。
$ status=$(curl ... -Isw '%{http_code}' ...)
答案 1 :(得分:0)
使用grep:
curl -u myself:XXXXXX -Is https://mylink/path/to/file | head -1 | grep -o '[0-9][0-9][0-9]'