Cha*_*ase 3 linux terminal command-line curl
我正在使用此命令来使用curl获取页面的响应代码:
curl -s -o /dev/null -w "%{http_code}" 'https://www.example.com'
Run Code Online (Sandbox Code Playgroud)
如果响应代码是200,那么我想删除计算机上的某个文件.如果不是200,则不应该做任何事情.
最简单的方法是什么?
您可以将结果存储在shell变量中(通过命令替换),然后使用simple if和[[command测试该值.例如,在bash:
#!/bin/bash
code=$(curl -s -o /dev/null -w "%{http_code}" 'https://www.example.com')
if [[ $code == 200 ]]; then
rm /path/to/file
# other actions
fi
Run Code Online (Sandbox Code Playgroud)
如果您想要的只是一个简单的rm,您可以将它缩短为:
#!/bin/bash
[[ $code == 200 ]] && rm /path/to/file
Run Code Online (Sandbox Code Playgroud)
在通用POSIX shell中,您必须使用灵活性较低的[命令并引用变量:
#!/bin/sh
code=$(curl -s -o /dev/null -w "%{http_code}" 'https://www.example.com')
if [ "$code" = 200 ]; then
rm /path/to/file
fi
Run Code Online (Sandbox Code Playgroud)
此外,要测试完整的代码类(例如2xx),您可以使用通配符:
#!/bin/bash
[[ $code == 2* ]] && rm /path/to/file
Run Code Online (Sandbox Code Playgroud)
和case命令(这里的一个例子).
| 归档时间: |
|
| 查看次数: |
941 次 |
| 最近记录: |