Shell_脚本(下)

七、流程控制

1、if判断

1)语法

if [ 条件判断 ];then
    程序
fi
或者
if [ 条件判断 ] 
    then
        程序
fi

注意

[ 条件判断 ] 中括号和条件判断式之间必须有空格

if后要有空格

2)实例

因为Shell写的有问题,因此报错

2、case语句

1)语法

case $变量名 in
    "值1")
        如果变量的值等于值1,则执行程序1
        ;;
    "值2")
        如果变量的值等于值2,则执行程序2
        ;;
     .....其他分支......
    *)
        如果变量的值都不是以上的值,则执行此程序
        ;;
esac

注意

① case行尾必须为单词 “in” ,每个模式匹配必须以右括号 “)” 结束。

② 双分号 “ ;; ”  标识命令序列结束,相当于java中的break;

③ 最后的 “ *) ” 表示默认模式,相当于java中的default。

2)实例

3、for循环

1)语法

for((初始值;循环控制条件;变量变化 ))
    do
        程序
    done

或

for 变量 in 值1 值2 值3......
    do
        程序
    done

2)实例1

3)实例2

打印所有输入的参数:

比较一下$*和$@

获得结果还是分开的。

改变代码:

能体现出“$*”代表一个整体,“$@”代表各个参数

4、while循环

1)语法

while [ 条件判断式 ]
    do
        程序
    done

2)实例

八、read读取控制台输入

1、语法

rend(选项)(参数)

选项:
    -p:指定读取值时的提示符
    -t:指定读取值时的时间(秒)

参数:
    变量:指定读取值的变量名

2、实例

 

九、函数

1、系统函数

1)basename语法

basename[string/pathname][suffix]:basename命令会删掉所有前缀包括最后一个(‘/’)字符,然后将字符串显示出来

选项:
suffix为后缀,如果suffix被指定了,basename会将 pathname或string中的 suffix去掉。

实例:

2)dirname语法

dirname 文件绝对路径 :从指定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)

实例:

2、自定义函数

1)语法

[ function ] funname[()]
{
    Action;
    [return int;]
}
funname

2)经验技巧

① 必须在调用函数的地方之前先声明函数,shell脚本是逐行运行的。不会像其他语言一样先编译。

② 函数返回值只能通过 $? 系统变量获得,可以显示加:return 返回,如果不加将以最后一条命令运行结果,作为返回值。return后跟数值  n(0-255)

 3)实例

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值