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}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容