linux bash shell 子程序、函数的简单声明以及调用

最近段时间由于工作的需要,一直看linux相关的技术,基本的命令,还有基于bash shell的编程,也算是入门吧,所以在此我想讲下我对于shell中子程序以及函数的简单应用

 

我有一个主程序shell2.sh,里面根据你选择的不同选项来决定调用的是子程序showMsg还是共享函数NumFunc

 

1.子程序 showMsg是一个单独的执行文件,可用bash showMsg来执行,具体的代码如下:

#bash shell的头文件声明

  #!/bin/bash

#打印result is 10,也可传入参数$1,$2...等
 echo "result is 10"

======================================

2.bash shell中的共享函数(NumFunc同样也是一个单独的可执行文件,可通过bash NumFunc或者./NumFunc来调用)

#!/bin/bash
#declare a function
function NumFunc
{

  echo "current function is NumFunc"
}

#调用当前的函数,不然只有声明没有调用那么函数体里面的内容不会执行
NumFunc

#这里有个重新定义NumFunc变量,目的是为了将NumFunc共享出去,如果不进行声明那么其他文件里面是无法调用到当前的函数的
export NumFunc

========================

3.编写主程序shell2.sh,在该程序里面如果选择了1,那么调用NumFunc函数,如果选择了2那么调用子程序showMsg,如果选择q则退出程序

具体代码如下:

#!/bin/bash
flag="1"
while [ "$flag" -eq 1 ]
 do

        clear
        echo "The Telephone Book"
        echo ""
        echo "1. Display A Telephone Number"
        echo "2. Add A New Telephone Number"
        echo "Q Quit"
        echo "Enter your selection: "
        read selection
        echo "your select is $selection"
        case $selection in
             "1")
                #通过bash调用共享函数(linux 5.X需要这么写,其他版本的可能省略掉bash也能执行)
                bash NumFunc
                ;;
             "2")
                #通过bash调用子程序(linux 5.X需要这么写,其他版本的可能省略掉bash也能执行),如果是传参数直接在调用后面加参数就好,如:bash showMsg “aaa” "bbbb"

                bash showMsg
                ;;

            "q")
                $flag="0"
                ;;
             "Q")
                $flag="0"
                ;;
              *)
                echo "You made in invalid selection,Try again."
        esac
    done

 


 

 

 


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值