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 ,如需转载请自行联系原作者
相关文章
|
1月前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
2月前
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新特性,与传统函数相比,它有更简洁的语法,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。箭头函数不适用于构造函数,不能使用new关键字调用。
|
2月前
|
数据可视化 开发者 索引
详解Wireshark LUA插件函数:function p_myproto.dissector(buffer, pinfo, tree)
在 Wireshark 中,LUA 插件通过 `function p_myproto.dissector(buffer, pinfo, tree)` 扩展协议解析能力,解析自定义应用层协议。参数 `buffer` 是 `PacketBuffer` 类型,表示原始数据包内容;`pinfo` 是 `ProtoInfo` 类型,包含数据包元信息(如 IP 地址、协议类型等);`tree` 是
95 1
|
2月前
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新语法,相比传统函数表达式更简洁,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。这使得箭头函数在处理回调和闭包时更加灵活方便。
|
2月前
|
Devops 关系型数据库 大数据
1000个开源免费的bash脚本合集
【10月更文挑战第4天】
|
2月前
|
C++ 容器
函数对象包装器function和bind机制
函数对象包装器function和bind机制
24 0
|
4月前
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
|
4月前
|
安全 JavaScript 应用服务中间件
【Azure Function App】如何修改Azure函数应用的默认页面呢?
【Azure Function App】如何修改Azure函数应用的默认页面呢?
|
4月前
|
SQL JavaScript 前端开发
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
|
4月前
|
JSON 数据格式 Python
【Azure 应用服务】Azure Function Python函数中,如何获取Event Hub Trigger的消息Event所属于的PartitionID呢?
【Azure 应用服务】Azure Function Python函数中,如何获取Event Hub Trigger的消息Event所属于的PartitionID呢?

热门文章

最新文章