shell脚本记录

shell学习:

shell 脚本格式:文件以.sh结尾,文件顶行输入:#!/bin/bash 

变量: 变量名=变量值  获取变量值:$变量名  环境变量 使用export 变量名  这样在任何位置都可以获取到变量值;shell 默认赋值变量都是字符串

$0 shell文件名;$n 第n个变量; $# 变量数量; $* 所有变量; $@ 所有变量;$? 0 最近的命令成功 其他值 最近的命令失败;

运算符:$[3*2-4]

判断条件 [ 1 -lt 2 ]

if语句:

if [ condition ]

then

echo a

elif

then

echo b

else

echo c

fi

case语句:

case $1 in

1)

echo 1

;;

2)

echo 2

;;

*)

echo *

;;

esac

for 循环:

s=0
for((i=0; i <= 100; i++))
do
s=$[$s+i]
done
echo $s

while循环:

while [ i -lt 100 ]

do

echo 1

i=$[$i+1]

done

read:

read -t 7 -p "please write" write

echo write

函数:

basename  返回文件最底层的名字

basename /Users/liyanqiang/Desktop/for.sh
输出:for.sh

dirname 获取文件的路径

dirname /Users/liyanqiang/Desktop/for.sh
输出:/Users/liyanqiang/Desktop

自定义函数(使用比较少):

function sum()
{
s=$[$1+$2]
echo $s
}
sum $1 $2

shell工具:

cut:生产会使用比如异常之后读取线上日志,截取用户id

cut  -d ‘ ’  -f 3 filename     参数说明: -f 列号; -d 分割符;   默认分割符是制表符;3- 获取3之后的所有字段

cat cut.txt|grep guan

输出:guan zhen

cat cut.txt|grep guan | cut -d ' ' -f 1

输出:guan

sed:生产使用较少

awk:强大的文本分析工具,把文件逐行的读入,以空格为默认分割符将每行切片,切开的部分再进行分析处理;

awk -F':' '/a/{print $1}' cut.txt  注意一定要是单引号  '{print $1}' ; 

  • 正则表达式:正则表达式用/ /加在中间

  • 命令放在{}中间

awk系统提供的变量:NR 当前行号;NF 切割后的列数; FILENAME 文件名;

awk -v i=0 '/.+/ {i=i+$2} END {print i}' sort.txt  

输出:173    END在最后执行的命令

sort:排序

sort -t ‘ ’ -nrk 2  以 空格 分割 第二列大小倒叙排序;

--------------------------------------------------------------------------------------------------


file=$1
url='10.160.62.11:8088/astonmartin/manager/handle_problem/addCoupon?'

echo ${file}

while read line
do
    array=(`echo $line | tr ',' ' '`);
    inviterPhone=${array[0]};
    inviteePhone=${array[1]};
    inviteeOrderId=${array[2]};
    echo ${inviterPhone} ^ ${inviteePhone} ^ ${inviteeOrderId};
    echo "curl -X GET (10.160.62.11:8088//astonmartin/manager/handle_problem/addCoupon?inviterPhone=${inviterPhone}&inviteePhone=${inviteePhone}&inviteeOrderId=${inviteeOrderId});" >> curl.text;
    echo start;
    curl -X GET "10.160.62.11:8088//astonmartin/manager/handle_problem/addCoupon?inviterPhone=${inviterPhone}&inviteePhone=${inviteePhone}&inviteeOrderId=${inviteeOrderId}";
    echo
done < $file

注意该脚本curl命令有点问题,缺少 '' 造成curl失败可以将 curl语句输出到文件curl中,然后拷贝出来进行操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值