#!/bin/bash
# 日志记录
Log_File='result.log'
# 发送POST请求中的常量定义
userId="324c1737856149d19e027ad45e869666"
Authorization="Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dpblR5cGUiOiJiYXNpYyIsInVzZXJfbmFtZSI6Indhbmdob25nd2VpIiwidXNlcl9zb3VyY2UiOiJURU5BTlQiLCJwYWFzVG9rZW4iOiIwMWZjNjMyMzlkZTA3OWRhZjI5NjFmNjIyMjA5MzgxYiIsImNhc0NsaWVudEFkZHIiOiIxNzIuMTguNDIuNzYiLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTYuMC40NjY0LjkzIFNhZmFyaS81MzcuMzYiLCJkYXRhX3NvdXJjZSI6IlRFTkFOVCIsImNsaWVudF9pZCI6InBpZyIsInRpbWVfb3V0IjoxODAwMCwibGljZW5zZSI6Im1hZGUgYnkgbTgiLCJnaXRUb2tlbkluZnJhIjoiMTAyYjgwYjhkMmFlMDMyNTUzMzU5YTA4OTBlYTA2MDlkYTljNmM5OTlmMTlkOGUzM2VjOGVhZTQ3MTQ5NDg1ZiIsImdpdFRva2VuQ29kZSI6IjEwMmI4MGI4ZDJhZTAzMjU1MzM1OWEwODkwZWEwNjA5ZGE5YzZjOTk5ZjE5ZDhlMzNlYzhlYWU0NzE0OTQ4NWYiLCJ1c2VyX2lkIjoxMDAwNjQ4NCwibG9naW5fdGltZSI6MTY0MjU1NzAwNDM1OSwic2NvcGUiOlsic2VydmVyIl0sImlucHV0VXNlcm5hbWUiOiJ3YW5naG9uZ3dlaSIsImZyb20iOiJjYXMiLCJleHAiOjE2NDI1OTMwMDQsImRlcHRfaWQiOjExODk4LCJjdXN0X2lkIjoiMzI0YzE3Mzc4NTYxNDlkMTllMDI3YWQ0NWU4NjlhN2MiLCJqdGkiOiJhOGU5ZjdlMi0zZWY4LTQ0YzItOTQ5Ny0zMDMzMTAyOTk2NTMifQ.gkCOdu4mSVHod0Cdj5twXCihhq1vptH2SK-vrWv7cKs"
RequestURL="https://www.example.com/admin/user/$userId/createuser"
Header1="Authorization: $Authorization"
Header2="Content-Type: application/json; charset=UTF-8"
# 参数检测
usage (){
if [ ! $1 ];then
echo "Usage: $0 请指定需要操作的文件名!"
exit 1
fi
}
# 主函数
adduser (){
i=1
# 定义循环
while read line;
do
echo `date "+%Y-%m-%d %H:%M:%S"` "正在读取第 $i 行:$line" | tee -a $Log_File
echo `date "+%Y-%m-%d %H:%M:%S"` "正在格式化第 $i 行的数据..." | tee -a $Log_File
# 将每一行放入数组变量
arr=($line)
# 根据实际场景定义发送的数据
Data="{
\"sysUser\": {
\"custId\": \"$custId\",
\"email\": \"${arr[0]}\",
\"nickname\": \"${arr[1]}\",
\"password\": \"${arr[2]}\",
\"phone\": \"${arr[3]}\",
\"delFlag\": 0,
\"username\": \"${arr[4]}\",
\"wxNumber\": null,
\"qqNumber\": null,
\"telPhone\": null,
\"discipline\": \"\",
\"schoolName\": \"\",
\"graduateTime\": \"\",
\"edu\": \"\",
\"extInfo\": {
\"certificationPath\": []
},
\"skill\": [],
\"skillInfo\": []
},
\"sysUserDepts\": [{
\"deptId\": \"${arr[5]}\",
\"primaryFlag\": true
}],
\"sysUserRoles\": [{
\"roleId\": \"${arr[6]}\"
}]
}"
echo `date "+%Y-%m-%d %H:%M:%S"` "开始处理第 $i 行..." | tee -a $Log_File
# 主命令
curl -sS -k -X POST -H "$Header1" -H "$Header2" -d "$Data" $RequestURL >> $Log_File 2>&1
# 失败检测
if [ $? != 0 ];then
echo "请求失败,请检查日志记录!"
exit 2
fi
echo `date "+%Y-%m-%d %H:%M:%S"` "第 $i 行处理完成!" | tee -a $Log_File
echo `date "+%Y-%m-%d %H:%M:%S"` "---------------------------------------------------------------------------------------------------------------------" | tee -a $Log_File
sleep 2
let i=$i+1
done < $1
}
usage $1
adduser $1
if [ $? == 0 ];then echo `date "+%Y-%m-%d %H:%M:%S"` "命令执行完成!" | tee -a $Log_File;fi