首页 > 系统相关 >shell函数和数组

shell函数和数组

时间:2024-05-15 16:29:46浏览次数:20  
标签:shell 函数 ## echo num 数组 declare

函数

定义函数

##第一种:简单常用
函数名(){
脚本(命令集合)
}
 
##第二种:
function 函数名{
脚本内容(命令集合)
}
 
##第三种
function 函数名(){
脚本(命令集合)
}
 

函数使用

#!/bin/bash
num(){   ##num是定义的函数名称
a=66
echo ${a}
}
 
num  ##这里的num是调用上面的num函数脚本

关于declare查询的用法 

【查看函数列表】
declare -F
#查看当前已定义的函数名,仅仅显示名称
 
declare -f
#查看当前已定义的函数定义,包含脚本代码
 
declare -f 函数名称
#查看该函数是否存在(这里必须是已经用source或者.已经声明过的函数内容,要不然系统无法识别)
 
declare -F 函数名称
#查看当前已定义的函数,以及详细代码
 
unset 函数名
#表明从系统中删除定义的函数,但是如果函数脚本使用source再次声明,还是会存在的

关于函数的增加与调用

 函数返回值

return

return表示退出函数并返回一个退出值,脚本中可以用$?变量表示该值

使用原则:

  1. 函数一结束就去返回值,应为$?变量只返回执行的最后一条命令的退出返回码

  2. 退出码必须是0-255,超出的值将为除以256取余

echo

echo任意值。

#!/bin/bash
test1 () {
        read -p "请输入一个数字:" num
        echo $[$num*2]
}
result=`test1`
echo $result

函数的环境变量和内置变量:local

 数组

数组的分类

普通数组(数值型)

下标索引是从0开始的数字,下标数字是可以不连续的

普通数组是系统会自动进行声明的

 关联数组(字符型)

要使用declare -A 数据名称进行声明

declare -a 可以查看所有的普通数组;

declare -A 可以查看所有的关联数组 ;

 找出数组中的最大和最小值

#!/bin/bash
for i in {0..6}
do
num[$i]=$[RANDOM%10]
[[ $i -eq 0 ]] && min=${num[0]} && max=${mun[0]}  ##当有第一个数组时,最大值和最小都是它
[[ ${num[$i]} -gt max ]] && max=${num[$i]}     ##表示随机产生的数字与最大值比较,如果大成立,则执行将其值赋给max
[[ ${num[$i]} -lt min ]] && min=${num[$i]}
done
echo "所有随机数为:${num[*]}"
echo "最大值为:${max}"
echo "最小值为:${min}"

 

标签:shell,函数,##,echo,num,数组,declare
From: https://www.cnblogs.com/hxqwe/p/18192026

相关文章

  • 数组和List互转
    数组转List数组转List,使用JDK中java.util.Arrays工具类的asList方法。importjava.util.Arrays;importjava.util.List;publicclassMain{publicstaticvoidmain(String[]args){String[]strs={"aaa","bbb","ccc"};List......
  • js防抖和限流函数
    functiondebounce(fn,delay){lettimer;lettht=this;returnfunction(...args){clearTimeout(timer)console.log(...args)timer=setTimeout(()=>{fn.apply(tht,args)},delay)}}function......
  • shell脚本习题
    目录1.计算1到100所有整数的和2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和3.求从1到100所有整数的偶数和、奇数和4.用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,输出提示该用户已存在;用户存在但没设密吗,则提示用户并让用户设置......
  • Shell编程之循环语句与函数
    目录1.循环语句(1)for循环语句(2)while循环语句(3)untli循环语句(4)双层循环2.Shell函数(1)函数返回值:(2)函数传参:(3)函数变量的作用范围:(4)递归3.Shell数组(1)定义数组(2)查看数组(3)数组分片、字符替换和删除(4)追加(5)数组排序算法:1.循环语句(1)for循环语句for变量in取值列表for((变量=初始值;变量......
  • jquery使用$.grep删除数组中的某个值
    vararr=[1,2,3,4,5];varvalueToRemove=3;//方法1:使用$.grep()方法arr=$.grep(arr,function(value){returnvalue!=valueToRemove;});console.log(arr);//[1,2,4,5]//方法2:使用Array.prototype.filter()方法(纯JavaScript)arr=arr.fi......
  • python: 递归函数:阶乘
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python: 递归函数:汉诺塔
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python: 递归函数:猴子吃桃
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python: 递归函数:斐波那契数列
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python 类型转换函数
    float()将一个字符串或数字转换为浮点数。number=float("123.45")print(number)#输出:123.45int()将一个字符串或数字转换为整数。number=int("123")print(number)#输出:123binary_number=int("101",2)print(binary_number)#输出:5bin()将一个整数......