第五十七讲——linux shell下的函数 本文共有12198个字,关键词: while循环: while :;do 循环体 done 死循环,可以用break在满足条件时跳出循环。 while read LINE;do 文档处理,$LINE done </PATH/to/somewhere 重定向文件到while循环。 一行一行的进行读取文件,并能对每一行进行相应处理。 bash -n *.sh 检查脚本中的语法错误 bash脚本编程之函数。 function:功能函数,与数学函数中的函数不是同一个概念,函数是结构化编程的重要思想,其主要目的是为了代码重用。 库:.so文件,共享库能够被多个进程所同时使用,这也是代码重用的思想。 函数不能作为程序的入口,必须被进程调用,这也是代码重用的思想。 函数就是一段封装的独立功能的代码,并为这段代码取了个名字。 而我们在需要这个功能的时候,用名字来调用这个函数,这整个我们称为函数和函数的使用机制。 函数需要使用function作为关键字,function_name(函数名)只能以字母、数字、下划线组成,并且不能以数字开头,因为有些系统调用是以数字命名的。 函数体需要使用一对花括号{}括起来。 function function_name{ command } 我们也可以使用一个关键字跟上一对小括号(无空格) function_name() { command } 函数不能够直接执行,只能被程序调用时才会执行。 在调用函数时,只需要使用函数名。 一个函数的执行结果和执行状态结果是如何建立联系的。 程序的执行结果使用反引号引用。 程序的执行状态结果:echo $?(最后一条语句的执行状态) 根据需要定义函数状态的返回值,使用关键字return定义状态返回值,使用exit #也可以定义程序执行状态的返回值,但是会退出脚本。 return # (0-255) 定义函数的返回值,表示这个函数是否执行正常,一个函数的执行过程中遇到了return,一定就结束了,函数可以返回一个执行的状态结果,我们在主程序中可以对这个状态返回值进行一个判定。 举一个例子: #!/bin/bash # #lm ADDUSER() { if ! id -U $USERNAME 2>&1 /dev/null; then useradd $USERNAME echo $USERNAME |passwd --stdin $USERNAME &>/dev/null return 0 else return 1 fi } read –p “please input user username:” username ADDUSER $username #向函数传递参数 if [ $? == 0 ];then echo “$username add finished” else echo “$username has exisis” fi 我们把所有功能做入函数中有一个缺陷,无法灵活使用,调用的可能性是非常少的。 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 给自己讲linux 2017-01-26 评论 1646 次浏览