shell脚本--函数

文章介绍了Shell函数的定义方式,包括两种语法形式,并通过示例展示了如何在命令行和脚本中调用函数。此外,还提到了将函数添加到环境变量的方法。最后,提供了一个案例,演示如何编写函数来获取用户输入并根据输入信息进行不同操作。
摘要由CSDN通过智能技术生成

函数

☆什么是函数?

shell中允许将一组命令集合或者语句形成一段可用代码,这些代码块称为shell函数;
再给这个代码块起个名称为函数名,输入函数名可以调用该段代码的功能。

1 函数的定义

第一种方式:

函数名()
{
  函数体(一堆命令的集合,来实现某个功能)   
}

第二种方式:

function 函数名()
{
   函数体(一堆命令的集合,来实现某个功能)  
}

举个例子说:

function_name() {
		command
		command
}
或者
function function_name() {
		command
		command
}

2 函数的调用

//使用shell脚本写一个函数
[root@MissHou ~]# cat function.sh
#!/bin/bash
hello(){
echo "hello world!"
}

2.1 在当前命令行调用

在控制台输入

# source function.sh	//让系统读取(刷新)脚本中的函数,后续只在当前终端可用
# hello		//调用脚本中的函数

2.2 在脚本中调用

#!/bin/bash
hello(){
echo "hello world!"
}
hello		//调用函数

2.3 定义到用户的环境变量中

编辑配置文件,一般不会用到

/etc/profile	#所有用户的环境变量
/etc/bashrc		#所有bash shell用户的全局变量
~/.bash_profile	#当前用户的环境变量
~/.bashrc		#当前用户的bash

3 应用

案例:写一个脚本让用户输入基本信息(姓名,性别,年龄),如不输入一直提示输入,最后根据用户的信息输出相对应的内容

#!/bin/bash
##该函数实现用户如果不输入内容则一直循环直到用户输入为止,并且将用户输入的内容打印出来
input_fun()
{
input_var=""
output_var=$1
while [ -z $input_var ]
	do
	read -p "$output_var" input_var
	done
echo $input_var
}

##调用函数并且获取用户的姓名、性别、年龄分别赋值给name、sex、age变量
name=$(input_fun 请输入你的姓名:)
sex=$(input_fun 请输入你的性别:)
age=$(input_fun 请输入你的年龄:)

##根据用户输入的性别进行匹配判断
case $sex in
	man)
	if [ $age -gt 18 -a $age -le 35 ];then
		echo "中年大叔你油腻了吗?加油"
	elif [ $age -gt 35 ];then
  		echo "保温杯里泡枸杞"
	else
		echo "年轻有为。。。"
	fi
	;;
	woman)
	echo "你好啊,女士,哈哈"
	;;
	*)
	echo "嗯?是蓝星的吗?"
	;;
esac
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值