bash脚本之函数function

简介:

脚本编程之函数:

function:功能,结构化编程,不能独立运行,需要调用时执行,可以多次被调用


定义一个函数:

function FUNCNAME {

    COMMAND

}

FUNCNAME(){

    COMMAND

}


自定义执行状态返回值

return #

0-255

接受参数的函数:

FUNCNAME m n

m在function函数里面用$1引用,相应地,n对应于$2


例子:写一个脚本,使用函数完成

1.函数能够接受一个参数,参数为用户名;判断一个用户是否存在

    如果存在,就返回次用户的shell和UID,并返回正常状态值

    如果不存在,就说此用户不存在,并返回错误状态值


2.在主程序中调用此函数

    扩展1:在主程序中让用户输入用户名,而后传递给函数判断

    扩展2:用户判断后并不直接退出,而是输入q后退出


#!/bin/bash

#

search(){

 if id $1 &>/dev/null;then

SHELL=`grep $1 /etc/passwd|cut -d: -f7`

UID1=`grep  $1 /etc/passwd|cut -d: -f3`

echo "User $1's shell is $SHELL ,UID is  $UID1"

return 0

else

echo "User $1 doesn't exist!"

fi

}

read -p "please input a username:  " a

while  [ "$a" != "q" ];do

search  $a

read -p "please input a username:  " a

done





















本文转自biao007h51CTO博客,原文链接:http://blog.51cto.com/linzb/1770196 ,如需转载请自行联系原作者
相关文章
|
24天前
|
资源调度 Serverless 计算机视觉
高斯函数 Gaussian Function
**高斯函数,或称正态分布,以数学家高斯命名,具有钟形曲线特征。关键参数包括期望值μ(决定分布中心)和标准差σ(影响分布的宽度)。当μ=0且σ²=1时,分布为标准正态分布。高斯函数广泛应用于统计学、信号处理和图像处理,如高斯滤波器用于图像模糊。其概率密度函数为e^(-x²/2σ²),积分结果为误差函数。在编程中,高斯函数常用于创建二维权重矩阵进行图像的加权平均,实现模糊效果。
15 1
|
1月前
|
算法 Serverless C语言
CMake函数和宏(function和macro):使用函数和宏提高代码可读性
CMake函数和宏(function和macro):使用函数和宏提高代码可读性
31 1
|
1月前
|
存储 安全 编译器
【C++ 包装器类 std::function 和 函数适配器 std::bind】 C++11 全面的std::function和std::bind的入门使用教程
【C++ 包装器类 std::function 和 函数适配器 std::bind】 C++11 全面的std::function和std::bind的入门使用教程
33 0
|
1月前
|
SQL Oracle 关系型数据库
Flink的表值函数(Table-Valued Function,TVF)是一种返回值是一张表的函数
【2月更文挑战第17天】Flink的表值函数(Table-Valued Function,TVF)是一种返回值是一张表的函数
20 1
|
3月前
|
存储 SQL 安全
函数(Function)和存储过程(Stored Procedure)的区别(小白情感版)
函数(Function)和存储过程(Stored Procedure)的区别(小白情感版)
40 0
|
3月前
|
缓存
pytest 运行测试函数报错的解决办法 TypeError: calling <function xxx> returned None, not a test
pytest 运行测试函数报错的解决办法 TypeError: calling <function xxx> returned None, not a test
97 0
|
3月前
|
数据库
SAP ABAP 更新函数(Update Function Module)执行出错的原因分析试读版
SAP ABAP 更新函数(Update Function Module)执行出错的原因分析试读版
35 0
|
3月前
|
数据库
130. SAP ABAP 更新函数(Update Function Module)执行出错的原因分析
130. SAP ABAP 更新函数(Update Function Module)执行出错的原因分析
25 0
|
4月前
|
SQL
Greenplum【SQL 03】实现树结构+自定义函数+避免函数重复调用+ function cannot execute on a QE slice 问题处理(优化过程全记录)
Greenplum【SQL 03】实现树结构+自定义函数+避免函数重复调用+ function cannot execute on a QE slice 问题处理(优化过程全记录)
36 0
|
5月前
|
存储 前端开发 C语言
C++11的多线程、function和bind、可变函数模板-2
C++11的多线程、function和bind、可变函数模板
48 1