shell中有三种变量:用户变量,位置变量和环境变量。其中用户变量在编程过程中使用最多,位置变量在对参数判断和命令返回值判断时会使用,环境变量主要是在程序运行的时候需要设置。
shell中函数的使用规则:
1,函数必须先定义后使用。
2,函数在当前环境下运行,共享调用它的脚本中的变量,并且,函数允许你以给位置参数赋值的方式向函数传递参数。函数体内部可以使用local限定词创建局部变量。
3,如果在函数中使用exit命令,会退出脚本。如果想退回到原本调用函数的地方,则使用return命令。
4,函数的return语言返回函数执行最后一条命令的退出状态。
5,使用内置命令export -f可以将函数导出到子shell
6,如果函数保存在其他文件中,可以使用source或dot命令,将它们装入当前脚本。
7,函数可以递归调用,并且没有调用限制。
8可以使用declare -f找到登陆会话中定义的函数,函数会按照字母顺序打印所有的函数定义,这个定义列表可能会很长,需要使用文本阅读器more或less查看,如果仅仅想看函数名,则使用declare -F语句。
user_login.sh
#! /bin/sh
function user_login()
{
if who | grep $1 >/dev/null
then
echo "User $1 is on"
else
echo "User $1 is off"
fi
}
source user_login.sh
user_login root
user_login prince
通过souce user_login.sh命令将函数从文件中读入,函数就如同命令一院变得可调用,然后,分别将root和prince作为参数传入函数体,判断用户是否在线。
shell中if语句后的[ ]中括号前后都必须被空格包围。