Linux学习之shell脚本——条件语句与循环语句
和其他语言类比,我们只需要了解if,if...else,if..else if...else...三种形式在shell中的使用。
在shell中,最基本的if的语法如下
if [ 条件 ]
then
符合条件的执行逻辑
if条件语句 和其他语言类比,我们只需要了解if,if...else,if..else if...else...三种形式在shell中的使用。 在shell中,最基本的if的语法如下
或
两种的区别在于if和then是否写在一行,如果写在一行使用;隔开。 fi表示if语句的结束,及代码范围。 注意:[]中的条件两边都有一个空格。 if...else的在shell中的写法如下:
if...else if...else在shell中的写法:
最后看一个例子:
在if判断的条件里,使用的是=号,这有区别于其他编程语言,但同样shell可以使用==号。注意=号两边有空格,如果不加空格,会认为是赋值操作。 很简单,就是判断输入,显示不同的结果,看一下执行结果
条件测试 if中关键的便是判断条件,那么可以做哪些条件判断呢? 字符串 数字 测试文件 与,或,非判断条件 注意:他们的使用方式不同。 与和或是以[]为一个整体,如下
而非的使用方式如下
case 多条件选择 在最初的if中编写了例子
可以将其修改为case语句:修改之后的如下
case $1 in:类似于其他语言的switch(xxx)一样。 "one"):匹配项,类似于case X:。 echo "1":符合匹配项执行的逻辑。 ;;: 类似于break;结束。 *):类似于default。 esac:case语句的结束标记。 注意:匹配项可以用正则表达式进行匹配。 看一下运行的结果
while 循环 while循环的语法如下:
或
注意:条件为真是,才会做do之后的逻辑,为什么强调这个呢linux语句,因为shell中有一个until语法。和其正好相反。 until循环 while循环表示如果条件为真,则执行do中的逻辑,而until和while正好相反,虽然语法类似
或
但是,其是当条件为false是,才会走do之后的逻辑。 for循环 for循环的语法如下:
当然我们可以在in之后不用谢一大串,而是用变量去代替。
首先通过ls命令查找当前目录下的所有文件。 其次通过for循环遍历变量,并打印。 运行的结果如下:
(编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |