shell中的变量

本文介绍了Shell脚本中的函数使用规则,包括定义、调用、参数传递及递归调用等,并通过示例展示了如何利用函数判断用户是否在线。

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语句后的[ ]中括号前后都必须被空格包围。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值