shell总结

1. 使用字符串拼接尤其要用心(我终于感觉自己慢慢把这个坑给填平了):

${word}${suffix}

2. 字符串截取

${word[0]} 按照空格截取

3. shell中运算:

$(($a * $b))

4. 循环:

for i in $(seq 1 100)

对比while语句:

ip=1 #通过修改初值

while [ $ip != 254 ]; do

ip=`expr "$ip" "+" "1"`

done

5.  split -l LineNumber FileName

LineNuber 通过 grep -m1 "Pattern" FileName 获取,嫌慢的话可以上 ack, ag等

最需要注意的时,默认情况下 split生成的文件名像 xaa xab

如果时多次split,比如在xaa基础上再次split,文件会被覆盖,导致丢失数据。

今天十点的点击数据就是这样丢失掉一部分的。

所以一定要指定 -a suffix !

6. redis.renamenx("oldkey","newkey")导致点击日志自动刷新出错。原因是newkey存在则会报错。

而如果使用redis 的rename则会覆盖掉已存在的key。这样会丢日志的!

命令行还是不要这样调用这些危险的东西了,还是好好设计项目吧!

7. 使用alias的结果应该如此  $(umonth) :

alias umonth='udate|cut -c 1-6'

mongoexpdays $campid $logtype $(umonth)${logday}

你可能感兴趣的:(shell总结)