shell函数

网友投稿 236 2022-09-30

shell函数

shell函数

将命令序列按格式写在一起可方便重复使用命令序列Shel1函数定义:1function函数名 {命令序列}2函数名() {命令序列

}

函数返回值:return表示退出函数并返回一个退出值,脚本中可以用$?变量显示该值使用原则:1、函数--结束就取返回值,因为$?变量只返回执行的最后一-条命令的退出状态码2、退出状态码必须是0~255,超出时值将为除以256取余

function db1 {read -p "请输入: " valuereturn $[$value * 2]

}

db1echo $?

db1 () {read -p "请输入:“ valueecho $[$value * 2]result=‘db1’echo $result

}

result='db1‘echo $result

函数传参:sum1 () {sum=$[$1 + $2]echo $sum

}

read -p "输入第一个参数:‘”firstread -p "输入第二个参数:secondsum1 $first $second

函数变量的作用范围:函数在Shel1脚本中仅在当前Shell环境中有效Shell脚本中变量默认全局有效将变量限定在函数内部使用1ocal命令

myfun() {local ii=8echo $i

}

i=9myfunecho $i

递归函数调用自己本身的函数#阶乘fact () {if [$1-eq1]thenecho 1elselocal temp=$[$1 - 1]local result=$(fact $temp)

echo $[$1 * Sresult]

5 $result (4$result (3$result (2*$result(1))))

firead -p "请输入: " nresult=$ (fact $n)echo $result

递归目录function list_ files {for f in '1s $1‘doif [ -d "$1/$f" ]then

echo "$2$f"list_files "$1/$f" ”$2"elseecho "$2$f"fidone

}

list_ files "/var/log" " "

创建库vim myfuncs. shjiafa() {echo $[$1 + $2]}chengfa() {echo $[$1 * $2]chufa() {if[$2-ne0];thenecho $[$1 / $2]elseecho "$2不能为0"fi

}

vim test.sh . myfuncs. shvalue1=10value2=5result1='jiafa $value1 $value2 'result2=' chengfa $value1 $value2 'result3= chufa $value1 $value2 '

vim function. shservicectl_ usage() {echo "Usage : servicectl "return 1

{

chkcentos ver() {grep "CentOS. release 7." /etc/centos-release &> /dev/null && echo "7"grep "Centos. release 6." /etc/centos-release &> /dev/null && echo "6"grep "CentOS. *release 5." /etc/centos-release &> /dev/null && echo "5"

}

servicectl() {[[ -乙$1 1 -z $2 ]] && servicectl usage[ $(chk centos_ ver)=="7" ] && systemctl $2 ${1} .service 1 service $1 $2

}

servicect1 $1 $2

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java线程优先级变量及功能
下一篇:sort、uniq、tr、cut命令
相关文章

 发表评论

暂时没有评论,来抢沙发吧~