shell脚本中curl带参数及awk的命令替换
2017-03-08 07:27
981 查看
shell脚本中curl带参数的命令替换,双引号不需要转义,像写json一样写字符串,curl命令使用单引号引起来,执行时使用$()而不是反引号``,awk也是同样,使用单引号把命令引起来,双引号不需要转义,像写json一样直接写出来;
以下是具体的代码:
#!/bin/bash cd `dirname $0` CUR_DIR=`pwd` UID_FILE=$CUR_DIR/uid.txt if [ ! -e $UID_FILE ]; then echo "ERROR:uid.txt not found" exit 1 fi PHONE_PRE='curl -X POST -d q={"uid":"' PHONE_SUF='"} http://192.168.238.11:8080/user/getUserinfoByUid' NAME_PRE='curl -X POST -d driverId=' NAME_SUF='&productId=2148131421781&caller=am0131777124&mode={"needDriverBiz":1,"needDriverBasic":1}&fields=[name,photo_url] http://192.168.156.121:8080/driver/getDriver' for line in `cat $UID_FILE` do #statements echo "uid:$line" PHONE_COMMAND="${PHONE_PRE}${line}${PHONE_SUF}" echo "PHONE_COMMAND:$PHONE_COMMAND" PHONE_RES=$($PHONE_COMMAND) echo "PHONE_RES:$PHONE_RES" PHONE=`echo $PHONE_RES | awk '/cell/{a=index($0,"cell");if(a>1){c=substr($0,a+6,13);print c;}}'` NAME_COMMAND="${NAME_PRE}${line}${NAME_SUF}" echo "NAME_COMMAND:$NAME_COMMAND" NAME_RES=$($NAME_COMMAND) echo "NAME_RES:$NAME_RES" NAME_D=`echo $NAME_RES | awk '/driver_name/{a=index($0,"driver_name");if(a>5){c=substr($0,a+13,23);print c;}}'` echo $line $PHONE $NAME_D >> uid_phone_name.txt done
阅读更多
相关文章推荐
- Shell脚本:命令选项参数处理
- shell脚本,用awk实现替换文件里面的内容。
- shell 脚本之获取命令输出字符串以及函数参数传递
- 将参数传递到awk内,用shell脚本提取符合条件的行
- 使用shell脚本ssh远程执行命令,使用awk时总是报错
- shell脚本中的命令替换
- shell脚本中的grep命令参数使用方法介绍(转载)
- shell脚本中如何获取命令的参数(1)
- 使用eval命令解决shell脚本中函数嵌套调用中的参数问题
- Shell 中的命令替换及参数扩展
- awk 调用 shell 命令,并传递参数
- Linux系统的rm命令太危险,一不小心就会删除系统文件。写一个shell脚本来替换系统的rm命令,
- shell 脚本之获取命令输出字符串以及函数参数传递
- curl 命令,curl监控网页shell脚本,curl多进程实现并控制进程数
- 详解shell脚本(九)——awk命令编程
- Shell 中的命令替换及参数扩展 | Linux 中国
- Linux:shell脚本之命令替换(eval,反引号和$())
- curl 命令,curl监控网页shell脚本,curl多进程实现并控制进程数
- linux通过awk命令,查询日志,分析数据,获取平均时间shell脚本
- shell脚本中常用的命令:wget、curl、ss、lsof、nmap、nc、netstat、telnet