0x01 bash脚本第一坑
变量赋值竟然不支持空格。
a = "my name" ✘ 这样是不能赋值成功的,并且提示“-bash: a: command not found” a="name" ✔ array[0] = "hello" ✘ array[0]="hello" ✔
0x02 变量调用需要加$
echo $a array[0]=$a
0x03 bash脚本第二坑
数组会自动对字符串变量进行分割,这个特性很不好,特别对字符串处理的时候,
这个特性不应该作为自动分割,如果需要使用分割功能, 加上特别的参数,这样设计更合理
output="i am a boy" 这个变量赋值给array的时候会进行分割 array=($output) 最后,变成: array[0]="i" array[1]="am" array[2]="a" array[3]="boy" 要使"i am a boy"存入array后保持完整,可以用下面的方法: array[0]=$output array=([0]=$output)
0x04 jq调试工具
--raw-input
/ -R
:
不要将输入解析为JSON。相反,每行文本都作为字符串传递给过滤器。如果与之结合使用
--slurp
,则整个输入将作为单个长字符串传递给过滤器。--raw-output
/ -r
: 解析后的字符串去引号
使用此选项,如果过滤器的结果是字符串,则它将直接写入标准输出,而不是格式化为带引号的JSON字符串。这对于使jq过滤器与非基于JSON的系统进行通信非常有用。
0x05 curl只输出json数据这样会输出http头部信息
curl -i -H "Content-Type: application/json" -X POST http://127.0.0.1/api/add
只输出http body的json数据
curl -s -H "Content-Type: application/json" -X POST http://127.0.0.1/api/add
参考链接:
1. BASH 数组用法小结
没有评论:
发表评论