分类: LINUX
2012-03-15 10:04:16
Shell中使用function关键字声明函数,可以将一组功能相关的代码封装组合成一个方法,以提高代码的复用性。
语法格式:function 函数名(){
函数体
return
}
函数调用:直接函数名即可调用。注意函数必须先声明定义,然后在使用。
例如:
#!/bin/bash
#function
function hello()
{
echo "Hello,today is `date`"
}
echo "now going to the function hello"
hello
echo "back from the function"
在sh中函数声明需是 name() { }的形式。向函数中传递参数(注:传给shell中的参数和shll里面写的函数的参数,不是同一个东西。即shell中用的$1等,如果不传入进函数里,在函数中是不能用的。)
#!/bin/sh
MSG="helo"
func () {
MSG="$MSG $1!"
}
func "world"
echo $MSG
用function var1 var2将参数var1 var2传递给函数,
2.select语句
select语句是pdksh提供的一个独特的循环语句.他不同于前面介绍的循环语句.他不是
反复计算一个条件表达式,并依据表达式的值决定是否执行一组命令.select的功能是自动的
生成一个简单的文本菜单.
语法格式:
select menu [in list_of_items]
do
commands
done
含义:当执行一个select语句时,pdksh分别为每个列在list_of_items中的成员建立一个菜单
选项.list_of_items既可以是一个包含多个选项的变量,也可以是直接列在程序中的一组选项
.如果语句中没有提供list_of_items,select语句将使用位置变量作为list_of_items.
举例:
select menuitem in pick1 pick2 pick3
do
echo "are you sure you want to pick $menuitem"
read res ;接收用户的输入,并且将输入的值存放在特定变量里.
if [ $res=" y" -o $res=" Y"]
then
break ;用于退出while,for,select等循环语句
fi
done
运行效果:
[root@localhost ~]# ./test
1) pick1
2) pick2
3) pick3
#? 2
are you sure you want to pick pick2
y