C语言第十八章:shell脚本

Posted 歌咏^0^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言第十八章:shell脚本相关的知识,希望对你有一定的参考价值。

一、case

----类似C语言switch

        格式:

        比如

二、循环

        1、for循环

                格式

                比如:

                执行结果:

  

                执行结果:

                =====》for也可以写成 C风格的for循环

                注意: for里面一定 要使用 双圆括号

        2、while循环

                格式:

                比如:

                执行效果:  

                ====》也可以用类似C语言的 while风格

        练习1:假设有一个文件 test.txt ,内容为10,要求写一个脚本,判断文件的内容

                内容是10,打印 large

                内容是5,打印middle

                内容是1,打印small

                其他值,打印other

                使用case 语句

        练习4:写一个脚本,可以实现不断地从键盘获取数据

                如果获取的数据为 "exit",则退出 --循环退出 使用 break

                如果获取的数据小于100,则打印该值

                如果获取的数据时其他的,则打印 other

三、如何去调试shell编程 脚本文件

        1、打印调试语句 ,确认程序 是执行在哪一块 代码

                echo "1111222"

        2、如何去验证 到底是哪一行代码出现问题呢

                一行一行地去屏蔽代码   

        错误:

                1)、赋值的时候等号左右两边有空格 -----》不能有空格

                2)、[ $i -le 100 ] 左右两边 没有空格 ---》[ ] 里面要有空格

                3)、for( ( ) ) ---->for(( ))

                4)、if $val = "exit"

四、函数

        格式:

        function_name:函数的命名 规则跟C语言类似

        函数的调用:

 

                在函数的内部如何 使用 传递进去的参数:

                arg1 ===》 $1

                arg2 ===> $2

                arg3 ===> $3

        如何获取返回值

                $?

        注意:

                1、函数的返回值的大小不能超过一个字节

                2、SHELL没有变量作用域,如果出现重复变量名会认为同一个(也就是不区分局部变量和全局变量

                        比如:

 

        练习1: 编写一个脚本,封装一个函数实现比较两个数的最大值 并返回 打印出来 

 

五、正则表达式

字符串是计算机应用中最广泛的处理对象之一(网页、文档),并且字符串组合规则形式多样,比如

数字字符串 123456

C语言标识符 “hello”

IP地址字符串 192.168.11.44

。。。。

上面这些都是我们程序设计需要处理的对象,现在的问题是:计算机要处理这些字符串,首先需要某种语言去描述符这些字符串的规则

===>正则表达式,它就是描述某一个特定规则的表达式

        正则表达式 的字符组成

        正则表达式是由一些字符去描述规则,在正则表达式中有两类字符

                1、元字符:不代表自己,代表某个特定的字符 或者多个字符

                2、普通字符:仅代表自身的字符 \\元字符 -->普通字符

        正则表达式 有不同的流派(java c# py ),不同的语言都用到了正则表达式,但是这些语言用来描述字符串规则 不是都一样,我们称为 正则表达式有不同的流派

        所谓的匹配指的是 通过 正则表达式 找到 符合条件的字符串

练习正则表达式的网站: http://c.runoob.com/front-end/854

        练习:用正则表达式 描述 ipv4的地址

192.168.11.44 192.168.111.44 192.118.111.44

答案:(\\d{1,3}\\.){3}\\d{1,3}

以上是关于C语言第十八章:shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

C语言第十七章:shell脚本

Linux 笔记 - 第十二章 Shell 脚本

第十八章 提升用户体验 之 减少带宽占用

《Linux命令行与shell脚本编程大全》第十七章 创建函数

C语言能否用在shell脚本

六十八shell脚本中的逻辑判断文件目录属性判断if特殊用法case判断