当前位置: 首页 > Linux

bash脚本大小写和函数

时间:2023-04-07 03:03:30 Linux

case语句a|b支持的模式:a或b*:匹配任意长度的任意字符?:匹配任意单个字符[-]:范围匹配case语法formatcaseexpressioninmode1)condition1;;模式2)条件2;;模式n)条件n;;*)剩余条件;;esacbash脚本函数函数:函数实现了两种可调用模块的返回值:1.普通返回值函数中的打印语句,如echo或print最后一条语句执行成功2.执行状态的返回值取决于函数中最后执行的语句自定义:returnN函数可以接受位置参数:$1,$#,$0,$*,$@,$?如果想把脚本的所有位置参数都传递给脚本中的函数,该怎么办呢?使用$*传递函数作用域变量作用域:local==declare-i函数体可以调用函数体,然后先在函数体中声明变量,内层函数体变量,外层函数体变量,main程序变量,bash内置环境变量如果没有报错,则为空,显示0。主程序中声明的变量,在函数中使用:重新赋值会影响主程序中的变量。如果您不希望函数与主程序中的变量发生冲突,请对函数中使用的变量使用local。装饰;即在函数中使用局部变量按顺序使用主程序中未声明的变量:在函数执行后将被撤销,无论是否使用局部装饰器Case[root@mm~]#basha.shh10xy20[root@mm~]#cata.shh#!/bin/bashdeclare-iA=10built(){declareA=xyecho$A}show(){declare-iA=20(如果这一行被注释掉显示功能块是10)echo$A}echo$A(mainprogramvariable)builtshowfunction语法方法一FuncName(){functionbody}方法二functionFuncName{functionbody}case写一个脚本到判断172.16.0.0网络中有哪些主机在线,在线的显示绿色,离线的显示红色;根据需要,在编程中使用函数;编写脚本完成以下功能(使用函数):1.提示用户输入可执行命令;2、获取该命令依赖的所有库文件的信息(使用ldd命令);3.复制命令到/mnt/sysroot/对应目录中的解释:假设,如果复制了cat命令,其可执行程序的路径为/bin/cat,那么必须将/bin/cat复制到/mnt/sysroot/bin/目录下,如果复制的是useradd命令,useradd的可执行文件路径为/usr/sbin/useradd,则必须复制到/mnt/sysroot/usr/sbin/目录下;4、将各个库文件复制到对应的/mnt/sysroot/目录下,需要命令;