最近在部署局域网Jenkins打包和Apache服务,遇到一些值得记录的过程。
1.输出字符写入文件,追加在文件末尾
echo "123" >> 123.txt
2.输出字符写入文件,覆盖文字
echo "123" > 123.txt
3.curl命令在post请求带嵌套JSon参数,且参数是shell变量时需要对参数转义
1 content="fir_im: $firUrl \n打包人: $BUILD_USER $Branch" 2 echo $content 3 4 curl "https://XXX" \ 5 -H "Content-Type: application/json" \ 6 -d "{ 7 \"msgtype\": \"text\", 8 \"text\": { 9 \"content\": \"$content\" 10 } 11 }"
4.curl将返回值写入本地文件
curl https://ip.taobao.com/getIpInfo.php?ip=192.168.1.30 > ip.json
5.利用jq在Shell中读取json字段
cat ip.json | jq .data.QUERY_IP
6.将curl返回值保存在shell变量中
ipResult=$(curl https://ip.taobao.com/getIpInfo.php?ip=192.168.1.30)
7.Mac下Shell使用sed命令报错,需要使用gsed,参考https://www.zhiqiexing.com/87.html
安装
brew install gnu-sed
8.sed替换所有原字符串
sed 's/原字符串/替换字符串/g'
9.