`

ma系列之-21-bash 函数 函数调用 函数返回值

 
阅读更多

 

 

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

调用函数:
直接使用函数名即可。

 

1 定义方式:

 

方式1:
function FUNCNAME {
  command
}
方式2:
FUNCNAME() {
  command
}

 

2 自定义函数返回值:

 

return #
返回值在0-255之间,只要return,函数必然会退出

 

和$?的区别:

$? 的返回值会看脚本中最后一样命令的执行结果,如果你定义一个函数,函数中各种报错,但是最后一行 echo 11,那么 echo $?返回的结果肯定为0。

 

而 return # 是自定义返回值。

 

3 案例:

 

eg1:
#!/bin/bash
#
TWOSUM() {
echo ${$1+$2}
}
SUM=`TWOSUM 1 2`   给函数传递参数并执行
echo $SUM

eg2:
#!/bin/bash
#
ADDUSER() {
USERNAME=hadoop
	if !id -u $USERNAME &> /dev/null; then
	useradd $USERNAME
	echo $USERNAME | passwd --stdin $USERNAME &> /dev/null
	return 0    定义函数返回值
	else
	return 1
	fi
}

ADDUSER   调用此函数
if [$? -eq 0]; then  输出上一行执行的状态位
	echo "add user finished"
else 	
	echo "failuer"
fi	

eg3:
#!/bin/bash
#
ADDUSER() {
USERNAME=$1
	if !id -u $USERNAME &> /dev/null; then
	useradd $USERNAME
	echo $USERNAME | passwd --stdin $USERNAME &> /dev/null
	return 0    
	else
	return 1
	fi
}

for I in {1..10}; do
ADDUSER user$I 
if [$? -eq 0]; then  
	echo "add user$I finished"
else 	
	echo "add user$I failuer"
fi	
done

 

 

 

 

 

分享到:
评论

相关推荐

    TA_Lib-0.4.28-cp37-cp37m-win32.whl.zip

    TA-Lib是一个广泛使用的金融技术分析库,提供了一系列预定义的技术指标函数,如移动平均线(MA)、相对强弱指数(RSI)、布林带(Bollinger Bands)等,用于股票、期货、外汇等市场的交易分析。这些函数可以帮助交易...

    bash

    3. **命令历史**: Bash记录用户的命令历史,方便用户通过上下箭头快速调用之前输入过的命令。 4. **命令补全**: Bash支持命令、文件名和路径的自动补全功能,提高了输入效率。 5. **环境变量**: Bash使用环境变量来...

    TA-Lib-0.4.19.tar.gz

    `TA-Lib`提供了大量的技术指标函数,如移动平均线(MA)、相对强弱指数(RSI)、布林带(Bollinger Bands)等。这些函数可以用于数据预处理、信号生成和交易策略的构建。例如,计算简单移动平均线(SMA): ```...

    zipline-1.3.0.tar.gz

    3. 运行回测:调用`run_algorithm`函数,传入开始和结束日期、数据源以及之前定义的策略函数。 4. 分析结果:Zipline会返回一个回测结果对象,你可以从中获取各种统计指标,如策略收益、风险指标等。 四、实战示例...

    TA_Lib-0.4.28-cp38-cp38-win32.whl.zip

    这个库包含了大量经典的金融技术指标,如移动平均线(MA)、相对强弱指数(RSI)、布林带(Bollinger Bands)等。它是由C语言编写,并提供了Python、Java、C++和R等多语言的接口。 **安装与使用** "使用说明.txt...

    pandas-ta-quant-0.2.4.tar.gz

    之后,便可以通过导入库并调用其提供的函数,进行数据加载、处理和分析。 总的来说,Pandas-TA-Quant 0.2.4 是一个面向金融数据科学家和量化交易者的强大工具,它集成了Pandas的便利性和技术分析的深度,为金融时间...

    使用gstreamer获取rtsp视频流并保存成图片.zip

    1. 初始化GStreamer库:使用`gst_init()`函数初始化GStreamer环境。 2. 构建GStreamer管道:通过`gst_parse_launch()`或手动创建元素链来构建管道。管道通常包括RTSP源(`rtspsrc`)、解码器(如`decodebin`)、视频...

    Python库 | notestock-0.2.5-py3.8.egg

    notestock库很可能包含了一系列与股票市场相关的函数和类,比如获取股票历史数据、计算技术指标、预测股票走势等。 在Python中,安装这样的库通常通过`pip`命令完成,但由于这是一个.egg文件,安装方法稍有不同。...

    c代码-ce shi dai ma

    在这个`main.c`文件里,开发者可能编写了一些测试用例,这些用例会调用其他的函数或者模块来验证其正确性。我们可以预期`main.c`里会有如下的结构: ```c #include <stdio.h> // 可能包括其他头文件 // 被测试的...

    编写属于你的第一个模块源码

    这里的`__init`和`__exit`宏确保函数在加载和卸载模块时被调用,`printk`是内核的日志函数,相当于用户空间的`printf`。 步骤3:编译模块 使用以下命令编译模块(假设源文件名为`hello.c`,内核头文件位于`/lib/...

    TA_Lib.zip

    在Python中引入TA_Lib库后,可以调用其提供的各种技术分析函数。例如,计算简单移动平均线(SMA): ```python from ta import * # 假设df是包含'Close'列的DataFrame sma = sma(close=df['Close'], timeperiod=5)...

    TrueCrypt GUI for Linux-开源

    TrueCrypt的安全性在于其强大的加密算法,如AES(高级加密标准),并且它支持多种加密模式和密钥派生函数,提供了高度的数据保护。 然而,TrueCrypt最初主要是为Windows平台设计的,对Linux的支持相对有限。因此,...

    iperl:以交互方式运行Perl

    例如,可以创建变量、调用函数、导入模块等: ```perl > $a = 5; > print $a * 2; # 输出 10 ``` ### 4. iperl的高级特性 - **内建帮助**:使用`?`或`help`命令可以查看iperl的帮助信息,了解可用的快捷键和功能...

    work_tasks

    编写Shell脚本的基本结构包括变量声明、条件语句(if-else)、循环结构(for、while)、函数定义以及命令的调用。例如,你可以定义一个变量存储文件路径,然后使用`cp`或`mv`命令来移动或复制文件。通过`if`语句检查...

    node-googleplaces:谷歌地图的 node.js 包装器放置 API

    “node-googleplaces”库将谷歌地图的Place API与Node.js环境无缝结合,提供了一个简洁的接口来调用这些功能。它简化了API的使用,使得JavaScript开发者无需关心复杂的HTTP请求和JSON解析,只需关注业务逻辑即可。 ...

Global site tag (gtag.js) - Google Analytics