Shell 编程 函数

本篇主要写一些shell脚本函数的使用。


函数调用

#!/bin/bash
sum(){
  s=`expr 2 + 3`
  echo $s
}
sum
[[email protected] ~]# vim sum.sh
[[email protected] ~]# chmod +x sum.sh
[[email protected] ~]# ./sum.sh
5

传递参数

#!/bin/bash
sum(){
  s=`expr $1 + $2`
  echo $s
}
sum 2 3
[[email protected] ~]# vim sum.sh
[[email protected] ~]# ./sum.sh
5

return

#!/bin/bash
sum(){
  return $(($1 + $2))
}
sum 2 3
echo $?
[[email protected] ~]# vim sum.sh
[[email protected] ~]# ./sum.sh
5

echo

#!/bin/bash
sum(){
  echo $(($1 + $2))
}
res=$(sum 2 3)
echo $?,$res
[[email protected] ~]# vim sum.sh
[[email protected] ~]# ./sum.sh
0,5

自定义函数

#!/bin/bash
service_index(){
  echo "Usage:servicectl <ServiceName> <start | stop | reload | restart | status>"
  return 1
}
service_version(){
  grep "release 7" /etc/centos-release &> /dev/null && echo "centos7"
  grep "release 6" /etc/centos-release &> /dev/null && echo "centos6"
}
servicectl(){
  [[ -z $1 || -z $2 ]] && service_index
  [ $(service_version) = "centos7" ] && systemctl $2 ${1}.service || service $1 $2
}
[[email protected] ~]# vim servicectl.sh
[[email protected] ~]# source servicectl.sh
[[email protected] ~]# servicectl
Usage:servicectl <ServiceName> <start | stop | reload | restart | status>
Unknown operation '.service'.
Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]
[[email protected] ~]# servicectl sshd status
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-08 03:07:15 CST; 11s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 3169 (sshd)
   CGroup: /system.slice/sshd.service
           └─3169 /usr/sbin/sshd -D

Oct 08 03:07:15 localhost systemd[1]: Starting OpenSSH server daemon...
Oct 08 03:07:15 localhost sshd[3169]: Server listening on 0.0.0.0 port 22.
Oct 08 03:07:15 localhost sshd[3169]: Server listening on :: port 22.
Oct 08 03:07:15 localhost systemd[1]: Started OpenSSH server daemon.

原文地址:https://www.cnblogs.com/llife/p/11633416.html

时间: 2024-10-11 12:43:49

Shell 编程 函数的相关文章

shell编程函数与数组

1.shell中函数 (1)shell中函数的语法 语法一: 函数名(){ 指令 return n } 语法二: function 函数名(){ 指令 return n } (2)shell中函数的调用执行 1)直接执行函数名即可,在执行函数时,不要带小括号,函数定义及函数体必须要在执行的函数名前定义. 2)带参数的函数的执行方法:函数名  参数1  参数2 (3)函数带参数的说明 1)在函数体重,位置函数都可以是函数的参数 2)父脚本的参数在函数中则临时地被函数参数所掩盖或隐藏 3)$0比较特

Shell编程------函数应用

1. shell函数的返回值: 一般情况下,返回0表示运行成功,返回非0表示出现故障.对于返回值的查看,用$?命令. 2. shell函数的传入参数:       用脚本的位置参数作为传入参数,即:$1,[email protected] 3. shell语言的插入排序程序: #! /bin/bash function insertsort() { echo "please input a list: " read -a list for((i=1;i<${#list[@]};i

shell编程--函数篇

一:函数分类 本地函数(本地变量)local 变量名.本地函数中对变量的修改,赋值只在当前函数运行期间有效.func1 () { local name=test;echo "func1:name=$name"; local age=18;echo "func1:age=$age"; echo $$;} 全局函数(本地变量)不加local及declare -i(仅限整数数字) 默认为全局函数,而declare -ig也为全局函数(本地变量).全局函数对变量的修改及赋值

2.shell编程-函数的高级用法

2.1.函数的定义和使用 函数基本使用 [[email protected]_0_9_centos ~]# test() > {} -bash: syntax error near unexpected token `{}' [root@VM_0_9_centos ~]# test() {} -bash: syntax error near unexpected token `{}' [root@VM_0_9_centos ~]# test() > { > echo "test

Shell编程关于函数要注意的几点

今天上午一个朋友突然QQ问到,shell编程中的函数为什么return只能是整数,怎么样才能将函数的执行结果返回并保存至某个变量中.其实这个问题很好解决---只需要认真了解下shell函数即可. shell编程中关于函数需要知道的几点 一.无论是在函数内,还是在函数外,$0的值都是该脚本本身.     [[email protected] ~]# cat test.sh     #!/bin/bash          echo $0          function testFunc(){

shell编程之函数

函数:function 过程式编程:代码重用 模块化编程 结构化编程 把一段独立功能的代码当作一个整体,并为之一个名字:命名的代码段,此即为函数: 注意:定义函数的代码段不会自动执行,在调用时执行:所谓调用函数,在代码中给定函数名即可: 函数名出现的任何位置,在代码执行时,都会被自动替换为函数代码: 语法一: function  f_name  { ...函数体... } 语法二: f_name()  { ...函数体... } 函数的生命周期:每次被调用时创建,返回时终止: 其状态返回结果为函

Linux Shell编程之三函数

函数是什么呢?我们为什么有使用函数呢? 一.函数的相关知识 函数就是就具有某种特定功能的代码打包起来,提供一个接口以供使用.这样做的好处是:一方面可以实现代码复用,例如:许多面向对象的语言,像Java提供的许多类和方法(函数)一样:另一方面是为了代码的模块化编程,这样可以实现多人同时开发代码. 在 shell 中函数主要的作用是实现代码复用,当然利用函数比编写代码可以是代码更简洁,易读. shell中如何定义函数? 语法格式: function F_NAME { 函数体 } 或者 F_NAME(

shell编程(十五)--- while特殊用法和函数

break:退出循环体 continue:结束本次循环,进入下一次循环. while特殊用法1: while : do done 上述为while的死循环. while特殊用法2: while read LINE do done < /path/to/FILE 作用:通过while读取FILE文件中的每一行,并将其保存在变量LINE中. 函数:function 语法格式: 方法1: function FUNCTIONNAME {     COMMAND } 方法2: FUNCTIONNAME()

shell编程continue break 函数的return

跳出循环和函数返回值 一.退出循环 在shell编程中,通常退出循环有两种方法: contine:是结束本次执行的循环,默认是contine 1,当contine 3 时,则表示进入第3层循环: break:是跳出本次循环,默认是break 1, 当break 2 时,则表示退出第二层循环,进入第3层循环: 因此在循环中:contine n = break n-1 [[email protected] ~/test]#vim for.sh #!/bin/bash for i in {1..3};