linux bash shell 子程序、函数的简单声明以及调用
2012-05-02 23:45
721 查看
最近段时间由于工作的需要,一直看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
我有一个主程序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
相关文章推荐
- 8.17_Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用
- linux中查看现在使用的shell是ksh还是bash?以及怎样修改?
- linux bash shell 判断目录是否为空的函数
- linux下的shell命令的编写,以及java怎样调用linux的shell命令(java怎样获取linux上的网卡的ip信息)
- UIApplication生命周期以及如何简单测试每个函数何时被调用?
- C语言,函数的声明,定义,以及调用(实现).举例应用.学了这么长时间,初步明白,汗颜啊
- shell脚本中函数调用的返回值,以及退出状态问题
- linux中查看现在使用的shell是ksh还是bash?以及怎样修改?
- bash shell + python简单教程,让你的mac/linux终端灰起来~
- linux下清屏以及休眠函数的调用
- C++函数重载实现的原理以及为什么在C++中调用C语言编译的函数时要加上extern "C"声明
- shell脚本中函数调用的返回值,以及退出状态问题
- [iOS学习]函数的定义,函数的调用以及函数的声明
- [shell]Linux脚本开头#!/bin/bash和#!/bin/sh是什么意思以及区别
- JS两种声明函数的方法以及调用顺序
- 分析linux下的进程地址空间,以及c语言的函数调用过程
- linux bash shell 中getopts 命令 和 python 中 getopt 函数的比较总结
- linux bash shell 中getopts 命令 和 python 中 getopt 函数的比较总结
- linux下C语言之调用简单函数
- bash脚本之函数简单介绍、应用及函数的简单递归调用