bash编程之:函数与数组

日期: 2015年09月13日

<<======================================【函数】======================================>>

函数:

function:功能

把一段具有独立功能代码封装在一起,并给予命名;后续用到时,

可直接通过给定函数名来调用整体代码;

函数作用:

1、把相同的程序段定义成函数,可以减少程序代码量

2、增加程序的可读、易读性

3、实现程序的功能模块化

函数的使用方法:

先定义:编写函数代码

后调用:给出函数名,还可以按需传递参数

定义方法:

(1) function f_name {

函数体

}

(2) f_name() {

函数体

}

调用函数:

f_name [argu1, argu2, ...]

自定义函数状态返回值:

runturn [#]

0: 成功

1-255: 失败

注意:函数代码执行时,一旦遇到return,函数代码终止运行,函数返回

示例:

<<======================================【数组】======================================>>

数组:

所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量

用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为数组下标。

组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

数组定义:

方法1: array=( value1 value2 value3 ...)

方法2: array=([1]=one [2]=two [3]=three)

方法3: array[0]=a array[1]=b array[2]=c

方法4: array=($(COMMAND))

获取数组的长度:

echo $(#array[*])

echo $(#array[@])

打印数组元素:(数组元素从0开始计数)

echo $(array[0])

echo $(array[1])

数组赋值:

直接通过: 数组名[下标] 就可以对其进行引用赋值

array[0]=value

数组删除:

直接通过:unset 数组[下标] 可以清除相应的元素,不带下标删除整个数组

示例1:

示例2:

时间: 2024-08-06 20:08:24

bash编程之:函数与数组的相关文章

bash编程之case语句

一.语法格式 case 变量引用(${}) in value1)    #变量的值是value1,则执语句1,语句2,······ 语句1 语句2 ······ ;;    #每个分支结束时都需要以双分号结尾 value2)    #变量的值是value2,则执语句3,语句4,······ 语句3 语句4 ······ ;; value3)    #变量的值是value3,则执语句5,语句6,······ 语句5 语句6 ······ ;; *)    #其他任意情况,则执行语句7,语句8,··

bash编程之:case语句、read与用户交互

日期: 2015年09月13日 case语句 case语句:该语句和if并无太大差别,主要作用是使代码的逻辑结构更清晰. case语句可以称为是:简洁版的多分支if语句 使用场景:判断某变量的值是否为多种情形中的一种时使用 case语句的用法格式为: case $VARIALBE in PATTERN1) 分支1 ;;     <================注意:这两个分号不要忘记写,否则语法错误 PATTERN2) 分支2 ;;     <================注意:这两个分号

bash编程之:条件测试

日期: 2015年09月13日 <<========================================[条件测试]========================================>> 条件测试 bash的条件测试主要有以下3类: 整数测试:比较两个整数谁大谁小,是否相等: 字符测试:比较两个字符串是否相等: 文件测试:测试某个文件是否具有读权限.写权限.执行权限等: (1) 根据运行的命令的状态结果判断 (2) 在bash中进行条件测试的方式通常有三种

编程之美:数组分割

题目概述:有一个没有排序,元素个数为2N的正整数数组.要求把它分割为元素个数为N的两个数组,并使两个子数组的和最接近. 假设数组A[1..2N]所有元素的和是SUM.模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合.显然:S(k, 1) = {A[i] | 1<= i <= k}S(k, k) = {A[1]+A[2]+…+A[k]}S(k, i) = S(k-1, i) U {A[k] + x | x属于S(k-1, i-1) }按照这个递推公式来计

Linux Bash编程之bash

其实编辑完bash脚本后,可以用过bash -n -x 两个选项进行脚本检查,不一定非要运行程序的时候才发现需要修改脚本. bash不仅有运行脚本的意思. 没有消息就是好消息. 我现在稍微修改下原来的脚本 -n的效果我现在演示不出来,之前是可以直接指出语法错误的 这个是之前的效果. -x 可以将指令和输出内容区分 -v不可以 -x 和 -v都是细致化的命令调试工具,他们 原文地址:http://blog.51cto.com/yueyue207/2090520

bash编程之:算术运算

日期: 2015年09月13日 算术运算 Shell默认不支持浮点数,所以计算结果中的浮点数会被圆整为整数, 如:1.03>1:4.99>4 算术运算的方式: (1) $[$A+$B] (2) VARIABLE=$((expression)) (3) let VARIABLE=$A+$B (4) expr $A + $B (5) bc 运算符: ++ --  增加或减少,(符号在变量前,先输出运算后的结果,符号在变量后,则先输出变量原来的值) + - ! ~  一元的正号与负号.逻辑与位的取反

bash编程之:if语句

日期: 2015年09月13日 if语句 单分支if语句格式: if CONDITION; then if-true-分支 fi ★(then亦可以书写为单独一行,如果要跟条件放在同一行则与条件之间要使用分号;隔开) 示例: 给定一个文件路径,如果该文件存在,则显示该文件存在,不存在则不显示任何信息 运行该脚本测试: 双分支if语句格式: if CONDITION; then if-true-分支 else if-true-分支 fi 示例: 给定一个文件路径,如果该文件存在,则显示该文件存在,

bash编程之:流程控制

日期: 2015年09月13日 流程控制 循环语句:for, while, until 循环:将循环体代码执行0.1或多次 进入条件:进入循环的条件 退出条件:循环终止的条件 <<========================================[for循环]========================================>> for循环: for VARIABLE in LIST; do 循环体 done 进入条件:列表非空 退出条件:当列表遍历结束

bash编程之xargs实用技巧

xargs结合管道操作符|,可以完成很多看似复杂的问题: 1.快速删除所有.log日志文件 机器运行久了,就会有各式各样的日志文件,散落在各个目录下,可以利用下面的方法: find ./ -name '*.log' | xargs rm -rf 上面的代码,先把当前目录及子目录下的所有后缀是log的文件找出来,然后做为参数,传递给 rm -rf ,这样就把日志文件给干掉了. 2.根据名字找到运行的进程并杀掉 比如:有一个java程序在服务器上,我们在写部署脚本时,要先把之前在运行的程序kill掉