Shell Example

Part 1

Posted by Dingding on October 10, 2017

curl 命令发送 POST

#!/bin/bash

url='http://localhost:9876';

parms=(
'{"client_id":"180100031016","user_id":"3150000067","url":"http://localhost:8647","path":"/user/show"}'
'{"client_id":"180100031016","user_id":"3150000067","url":"http://localhost:8647","path":"/user/show"}'
'{"client_id":"180100031016","user_id":"3150000067","url":"http://localhost:8647","path":"/user/show"}'
)

for parm in ${parms[@]}
do

res=`(curl $url -s -d $parm -H "Content-Type: application/json")`
jq '.' <<< $res 

done

awk 命令

#!/bin/bash

awk '{
	for (i=1;i<NF;i++){
		printf $i "\t";
	}
	cmd=("date +%Y-%m-%d-%H -d @" $NF);
	system(cmd);
	printf("\n"); 
}' $1;

变量赋值

for file in `ls /etc`
do
	echo $file
done
for file in $(ls /etc)
do
	echo $file
done

重定向

  • command > file 将输出重定向到 file。
  • command < file 将输入重定向到 file。
  • command » file 将输出以追加的方式重定向到 file。
  • n > file 将文件描述符为 n 的文件重定向到 file。
  • n » file 将文件描述符为 n 的文件以追加的方式重定向到 file。
  • n >& m 将输出文件 m 和 n 合并。
  • n <& m 将输入文件 m 和 n 合并。
  • « tag 将开始标记 tag 和结束标记 tag 之间的内容作为输入。
  • HereDocument
    command << delimiter
      document
    delimiter
    

curl

  • 自动重定向 -L
  • 基本认证 –user