bash学习

Bash脚本大小写敏感:变量a与变量A不一样

a="www" 定义变量a

${a} 引用变量a;$为引用符号。

`ls` ``为反引号,反引号内的字符可被执行

定义变量时单引号与双引号的区别-双引号可包含单引号  可在字符串中引用另一字符串或变量


数组的使用

定义数组:arr=(1 2 3 4 5)

引用数组:${arr[@]}/${arr[*]} -- 引用全部数组内数据

                ${arr[1]} -- 引用数组内第二个数据 2 ;${arr[-2]} -- 引用数组呢倒数第二个数据 4;${#arr[@]} -- 统计数组的长度


对变量进行操作:(())    例:((a+b))  对变量a b进行加法计算  

字符串操作:${s#*m}   ${s##*m}--贪婪匹配  掐头

                      ${s%o* }  ${s%%o*} -- 贪婪匹配 去尾

                      ${s/test/sss} -- 替换

判断的类型:-eq 等于 ;-lt  小于;-gt  大于;-ge 大于等于;-le 小于等于;-ne 不等于;-a  逻辑与;-o 逻辑或

                       ! 逻辑非


逻辑控制-判断

        if 结构: if [ condition ];then ...;else ...;fi     逻辑与&&,逻辑或||    --- 只对逻辑判断前的一条语句负责;如果&&前边的语句执行成功则执行其符号后边的语句,如果前边一条语句执行未成功则执行||后边的语句。

例:if [ 3 -eq 4 ];then echo equal;else echo not equal;fi    --- [ 3 -eq 4 ] && echo equal || echo not equal

内置判断

逻辑控制-循环:

        for 循环: for((i=0;i<10;i++));do echo $i;done

        例:arr=(1 2 3 4 5 6 7)    for((i=0;i<${#arr[@]};i++));do echo ${arr[i]};done

        for 遍历循环: for x in ${arr[@]};do echo $x;done

        while循环: 条件成立则执行语句块内的语句

        例:i=0   while [ $i -lt 3 ];do echo $i;((i++));done


重定向

        < 输入重定向:将后边的内容输入到前边的语句中

        > 输出重定向:将前边内容输出到后方文件内  覆盖输出

        >> 追加内容到后方

        例:将屏幕上输入的文字都重定向至另一文件内

        i=0  while [ $i -lt 5 ];do read -p "enter: " x;echo $x >> test;((i++));done

        read x键盘读入一个数据

        read -p “enter”在读入输入内容之前在屏幕上输出enter文字


退出控制:

        break 跳出并中断循环

        continue 跳出当前循环并进行下一次循环


三剑客:

        grep    匹配   -i 忽略大小写匹配      -o 精准匹配    -v  过滤,匹配其他行 -mn 最多匹配前几行   -n 显示行哈

        awk    分隔   是一种语言解析引擎。具备完备的网络编程特性。比如执行命令、网络请求等

         --   awk 理论上可以代替grep与sed  

        语法:   awk '{pattern+action} {filename}'  -- pattern 表示awk在数据中查询的条件,action是在找到指定内容时执行的一系列命令;   

        awk -F ' 分隔符号'  '{print  $范围}'   --  将文件逐行读入,以指定分隔符分隔行内数据,将其分隔为不同部分;不指定分隔符则默认为空格分隔 ;多个分隔符 '分隔符1 | 分隔符2' ;$0表示全范围   $1 代表第一个范围  $2代表第二个范围;{}内是执行的语句块

        BEGIN{}{}{}END -- 其内为操作块

        数据处理:

            NF  --  字段数;RF -- 行记录分隔符; FS --  字段分隔符(可用来切割字段);NR -- 记录数

             awk '/00:00:01/,/00:00:04' /tmp/nginx.log -- 取出这两个数据之间的所有数据

        sed   替换   '#正则#结果#g‘

法: sed  's/str1/str2/g'  test.txt    -- 将test.txt 文件里的所有str1替换为str2; /起一个分隔的作用;s是一个子命令,意思为替换

            sed替换文件是将需要替换的内容放入一个模式空间与原始空间无关,原始文件中的内容并没有被替换;如果想替换原始文件: sed -i 's/str1/str2/g' test.txt;文件备份:sed -i.bak 's/str1/str2/g' test.txt  --> test.txt.bak

            sed 's/[0-9]\{1,\}/*/g' -- 一旦遇到一个或多个数字将这个数字集合作为一个整体替换成1个*

            


正则表达式:

        .匹配任意一个字符;* 匹配任意内容  [] 内的内容为或匹配

网络请求:curl   

        例:curl -s http://www.baidu.com/s?wd=mp3 | grep "结果约[0-9,]*"


创建文件/文件夹

        mkdir  创建文件夹

        touch  创建文件

        chmod  +x  -r  -w +w  修改文件的权限



Linux常见命令:

sort  -- 可针对文本文件的内容以行为单位来排序

uniq  --  可检查文本文件中重复出现的行列;   -c  --count 在每列旁边显示该行重复出现的次数

netstat --  展示当前机器上的tcp和udp连接 ;   -t  --tcp 显示TCP传输协议的连线状况;-u  --udp 显示UDP传输协议的连线状况; -n   --numeric 直接使用IP地址,而不通过域名服务器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343