curl(五)与shell结合的细节

一  curl与shell结合的细节

①  问题引入

需求: 传递变量以'json数据'给curl

②  方式1  反斜杠\转义

1、转义'内'层'双引号'  --> '了解即可'

特点: 可读性'低',并且很'复杂'

2、转义'外'层'单引号'   --> '推荐'

另一种方式: 只转义'外层单引号'

实质:通过转义'外层的单引号',使'内层双引号中'的'$variable'得以'被解析'

③  方式2

单引号周围添加双引号

1、案例  --> '拼接'

做法: 实质是'字符串拼接',注意是'成对'的

补充: --data中json key对应'值'是需要"双引号"包括的'字符串'

2、 '原理'解读

④  方式  了解

1、'@-' 重点

2、'@<'  重点

3、-d "$(cat <<EOF ... EOF)"

4、'$@-' 熟悉

⑤  方式4   最佳实践

核心: 创建一个'生成数据'的'函数'

参考连接

⑥  方式5

说明: 自己常用的'动态'方式

原理:如果json数据体不变,只是'修改了数据',则sed '修改' 指定字段之后,curl直接'cat即可'

⑦  glob通配

url使用'通配符' -->一般是'有规律'的

# n=1,n=2...n=10
curl http://www.wolf.com/work/test.php?n=[1-10]

# 设定步长为3,n=1,n=4...
curl http://www.wolf.com/work/test.php?n=[1-10:3] 

# n=1,n=3
curl http://www.wolf.com/work/test.php?n={1,3}


常见:[]、{}、.、*
-g/--globoff   禁用'网址序列'和'范围使用{}和[]'

⑧  通过curl从url中执行bash

1、'前置'配置

细节点: 如果文件后缀是'txt',则浏览器会'展示','不会下载'

2、'方式1'   curl -s url | bash

说明:常用'首页'的方式,'index.html'存储'脚本'内容

常见方式:curl -sSfL https://www.baidu.com | bash

2、'方式2'  curl -s | bash -s arg1 arg2 .. '无名参'

下面: bash -s '位置参数'

3、方式3  '-- 具名传参' 更复杂

4、方式'4'

sh <(curl -s https://www.baidu.com)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值