shell函数与数组的应用

shell(第四章数组和函数) 数组名=(数组 数组 数组)数组名=() #反`优先执行数组名=(`ls /home*`) #只要数组可以输出结果数组名= ( 数组 "数组 数组") #""里面是一个整体可以先定义变量 red=111 li=aaa数组名=($red $li) #输出的值是变量值声明索引:数组名=(数组1 [20]=数组 数组2)#数组1的索引是0 数组2的索引是21 数组的索引是20关联数组的索引不是数字数组名[索引]=变量值/数组declare -A 变量值/数组例如:一次赋多个值。 阅读详情

1、编写函数,实现打印绿色OK和红色FAILED
判断是否有参数,存在为Ok,不存在为FAILED

#!/bin/bash
function print_status 
{
if [ $# -eq 0 ]; then        # 通过“$#”来获取参数个数并判断参数是否存在
    echo -e "\e[31mFAILED\e[0m"
else
    echo -e "\e[32mOK\e[0m"
fi
}
print_status $@


2、编写函数,实现判断是否无位置参数,如无参数,提示错误

#!/bin/bash
location_parameter()
{
if [ $# -eq 0 ];then       #通"$#"获取参数个数来进行判断
echo "错误,无参数输入"
else
echo "有参数输入"
fi
}
location_parameter $@


3、编写函数实现两个数字做为参数,返回最大值

#!/bin/bash
numeric_comparison()   # 用“$1 $2”来获取参数进行比较。
{
if [ $1 -gt $2 ]; then
echo $1
else
echo $2
fi
}
max=$(numeric_comparison $1 $2)
echo "最大值是$max"


4、编写函数,实现两个整数位参数,计算加减乘除。

#!/bin/bash   
calculate    # 通过$1 $2 来获取参数
{
add=$(( $1 + $2 ))
subtract=$(( $1 - $2 ))
multiply=$(( $1 * $2 ))
if [ $2 -eq 0 ]; then     # 除法需要判断被除数是否为零
        divide=$(( $2 / $1 ))
else
        divide=$(( $1 / $2 ))
fi
}
calculate
echo "加减乘除分别是:$add $subtract $multiply $divide"


5、将/etc/shadow文件的每一行作为元数赋值给数组

#!/bin/bash   
readarray -t shadow_array < "/etc/shadow"  # 使用 for 循环遍历数组,并输出每一行
for line in "${shadow_array[@]}"
do
  echo "$line"
done


6、使用关联数组统计文件/etc/passwd中用户使用的不同类型shell的数量

#!/bin/bash
declare -A shell_count  # 使用 while 循环从 /etc/passwd 文件中逐行读取内容
while read line
do
  user=$(echo $line | cut -d':' -f1)  # 使用 cut 命令从每一行中提取出用户和 shell 信息
  shell=$(echo $line | cut -d':' -f7)
  if [[ ${shell_count[$shell]} ]]; then
    shell_count[$shell]=$(( ${shell_count[$shell]} + 1 ))
  else
    shell_count[$shell]=1
  fi
done < /etc/passwd
for shell in "${!shell_count[@]}"
do
  count=${shell_count[$shell]}
  echo "Shell $shell: $count user(s)"
done


7、使用关联数组按扩展名统计指定目录中文件的数量

#!/bin/bash
root_dir="/root/shell_programs"  # 通过find命令获取目录下所有文件,并输出每个文件的文件名
find "$root_dir" -type f -printf '%f\n' | \
     awk -F . '{count[$NF]++} END {for (ext in count) print "扩展名: " ext ", 文件数>量: " count[ext]}'  # 在awk命令中,使用-F 选项指定分隔符为"."

 

掌握Shell脚本:函数、算术与数组的应用 本章深入探讨了Shell脚本编程中的一些高级特性,包括函数的定义和使用、整数算术运算以及数组的创建和操作。通过具体实例和详细解释,读者可以了解如何在脚本中创建自定义函数,利用整数算术进行逻辑判断和循环控制,以及如何有效地管理数组数据。 阅读详情

相关推荐

LTR-390UV-01对比VEML6075:5个真实项目中的选型避坑指南

本文对比了LTR-390UV-01和VEML6075两款环境光传感器在5个真实项目中的表现,提供了选型避坑指南。通过智能手环、农业温室、紫外线消毒柜等场景的实测数据,分析了动态范围、抗干扰性、温度稳定性等关键差异,帮助开发者在成本与性能间做出最优选择。

weixin_28733777的博客 220

shell 函数应用与数组

函数应用数组函数概述函数定义函数案例:函数中调用函数数组数组应用场景数组应用 函数概述 当一些命令序列需要反复调用执行时,若每次使用同一命令就使用一遍,就会导致代码量很大,行数特别多,我们就可以将这些命令序列按格式写在一起,做成函数形式,以便调用 函数定义 [function] 函数名 (){ 命令序列 [return x] } 函数名 //表示调用函数 函数案例: #!/bin/bash function hello(){ //function可以不写。hello为函数名

weixin_55905026的博客 202

嵌入式学习笔记- 关于电容的纹波电流

纹波电流是导致电解电容发热、影响其寿命的关键交流电流成分。它不是一种特殊的电流,而是电路中必然存在的现象。要重视,不能忽视。必须保证电路中的纹波电流 < 电容的额定纹波电流。电容鼓包爆浆,要怀疑是否是纹波电流过大或电容ESR变大所致。希望这个解释能帮助您彻底理解这个概念!二 电容纹波电流与频率的关系在大多数情况下,频率越高,电容所能承受的额定纹波电流值越大。【个人理解:因为频率越低ESR越大,具体见第三节ESR与频率的关系】下面我为您详细解释为什么会这样,以及在实际应用中如何考虑。

qq_35771411的博客 2193

Linux进阶之shell编程-函数和数组的应用(六)

目录 1.shell函数的应用 2.shell数组的应用 1.shell函数的应用 1)shell中函数的作用 01.命令集合,完成特定功能的代码块 02.在shell中定义函数可以使用代码模块化,便于复用代码,加强可读性 03.函数和变量类似,先定义才可使用,如果定义不调用则不会被执行 2)定义函数的3种方式: [root@web01 /server/scripts]# cat fun.sh #!/bin/sh ##create abin 2020-6-17 test(){ ...

qq_45837591的博客 294

高杂合度基因组组装实战:Hifiasm参数调优与purge_dups过滤效果对比(附猪毛菜案例)

本文深入探讨了高杂合度基因组组装中Hifiasm参数调优与purge_dups过滤的实战效果对比,通过猪毛菜案例详细解析了两种方法的适用场景与优化策略。文章重点分析了purge_dups在contig过滤中的显著效果,为基因组组装提供了关键的技术参考。

weixin_29232121的博客 495

告别C盘爆红!手把手教你将WSL2下的Ubuntu 22.04完整迁移到D盘(附清理指南)

本文详细指导如何将WSL2下的Ubuntu 22.04从C盘无损迁移到D盘,包括导出备份、注销原系统、导入新位置等关键步骤,并提供迁移后的优化配置、开发环境衔接及长期维护技巧,帮助用户彻底解决C盘空间不足问题。

weixin_28698059的博客 472

shell编程--shell函数与数组(函数的定义、递归函数、数组的定义方法、数组应用案例、冒泡排序)

文章目录一、 shell函数 一、 shell函数 1.1

kimowinter的博客 432

100kHz手持LCR表设计:高频阻抗测量与校准实战解析

阻抗测量是电子元件测试的基础,LCR表通过施加正弦激励并分析电压电流的幅值与相位,即可获取电容、电感、电阻的等效参数。在开关电源、无线充电等高频应用场景中,元件在100kHz下的ESR和阻抗特性尤为关键,传统10kHz手持仪表难以满足需求。本文从自动平衡桥原理出发,探讨如何将台式电桥的核心能力浓缩至手持设备,重点剖析高频寄生参数抑制、模拟链路设计、数字相敏检波算法及开路短路校准方法。通过实测数据验证,在100kHz频率下基本精度可达0.5%以内,为维修现场、产线抽检及硬件调试提供了可携带的精密测量方案。全文

weixin_33910191的博客 397

shell函数及数组的传参,递归,建库 应用案例详解

一. 什么是函数 在shell脚本中有一串能实现某个功能的代码,给这串代码取个名字,我们称这串代码叫叫做函数,后续可以直接调用该代码的功能。 二. 函数的语法 方法1: 函数名() { 函数体(一堆命令的集合,来实现某个功能) } 方法2: fucation 函数名() { 函数体 (一堆命令的集合,来实现某个功能) } 三. 函数中return说明 1.return可以结束一个函数。类似于循环控制语句break(结束当前循环,执行循环体后面的代码)。 2.return默认返回函数最后一盒命令状

weixin_48192495的博客 2623

NX/UG二次开发—CAM—设置程序修剪边界Boundary

最近做了一个设置CAM程序边界的小工具,分享一下经验(官方的代码在文章末尾处),以下均以修剪边界曲线为例。 以下为官方提供的源码: /***************************** Include Files **********************************/ #include <stdlib.h> #include <uf.h> #include <uf_obj.h> #include <uf_object_type

门前大桥下,游过一群鸭,快来看一看,原来是C++ 3733

关于 SAP UI5 应用 url 中的特殊符号 # 的作用介绍

符号在 SAP UI5 的 URL 中不仅仅是一个分隔符,更是动态路由、状态管理和深链接的关键所在。通过合理使用,开发者可以实现高效、流畅的用户体验,同时保持系统的可维护性和扩展性。通过 SAP UI5 提供的灵活路由机制,企业应用可以轻松实现复杂导航需求,同时为用户提供直观的交互体验。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 411

Shell脚本 函数应用与数组介绍及大小排序、脚本调试及数组切片

目录一、Shell函数应用1.1 调用函数的方法1.2 把函数放到环境变量直接调用函数1.3递归函数1.3.1查看/var/log 目录下所有的文件和子目录。二、Shell数组2.1 定义数组的方法 一、Shell函数应用 如果有一些命令序列是现需要反复调用执行的,若每次都用同一命令重复写一遍,会导致代码量比较大。Shell函数可以将命令序列按格式写在一起,以便可以重读使用。 Shell格式里 其中function是可选的,表示函数的功能,这个是可以省略掉的;函数名后面加一个(),里面是没有内容的。执行的

weixin_47219725的博客 717

Autosar软件组件分析及ARXML文件分析

Autosar软件组件分析及ARXML文件分析

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 3601

SHELL数组函数的具体应用

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34033624的博客 71

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Shell函数应用和数组基本操作及冒泡算法

什么是函数?函数格式格式一格式二函数返回值实例 什么是函数? shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数 给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能 Shell函数定义 函数格式 格式一 函数名() { 函数体(一堆命令的集合,来实现某个功能) } 格式二 function 函数名() { 函数体(一堆命令的集合,来实现某个功能) [return x] 使用return或exit可以显式地结束函数 } 调用函数的方.

骑猪兜风的博客 273

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

shell函数与数组的详解走起

文章目录一:shell函数1.1:函数定义的简化写法1.2:函数的作用范围1.3:递归函数二:shell数组2.1:应用场景包括2.2:数组的描述2.3:数组定义方法2.31:创建1到100数组2.32:创建1到100奇数组2.33:创建任意数字及长度,根据客户需求加入元素2.4:数组操作2.41:获取数组长度2.42:读取某下标赋值2.43:下面一组值,不满60加到602.44:求数组的最大值2.44:求数组的最大值 一:shell函数 Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编

weixin_47151643的博客 845

Shell之函数与数组 (超详细的函数与数组例子)

Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。 Shell 中的函数和C++、Java、Python、C# 等其它编程语言中的函数类似,只是在语法细节有所差别。

下一个艺术家 2542

Linux:Shell 函数与数组

在 Shell 脚本开发中,函数和数组是实现代码复用与高效数据处理的核心技术。本文系统解析函数的定义、传参、返回值设计,以及普通数组与关联数组的应用场景,通过贴近系统管理、日志分析、批量任务的实战案例,帮助读者掌握模块化编程与结构化数据处理的核心技能。适用场景:封装重复操作(如用户创建、服务启停)、复杂逻辑模块化(如日志分析、数据计算)。两种定义方式# 方法一:简洁语法函数名() {命令序列# 方法二:显式声明(推荐)function 函数名 {命令序列案例:用户存在性检查函数。

2502_90615759的博客 1203

Shell函数的应用

一、Shell函数 Shell函数也是我们经常用到的,因为有一些命令序列是需要反复调试的,若每次使用同一命令就重复写一遍,就会导致代码量大,行数特别多。为解决该问题可以将命令序列放在一起,以便可以重复使用。 1.函数的基本格式 [function] 函数名 () { #规范写法 命令序列 } 或者 函数名 () { #简洁写法 命令序列 } 2. Shell函数的含义 函数定义完之后并不会自动执行,需要调用才行,好处在于可以写一段功能

Zlwriii的博客 223

shell 循环、数组与函数

shell 循环、数组与函数简介

weixin_61428407的博客 2136

shell函数与数组

数组

weixin_54132204的博客 214

shell编程之函数以与数组

commandsgreet() {在 shell 中,数组可以用来存储多个值。数组的定义方式有多种。函数和数组是 shell 编程中非常重要的两个特性。函数可以将代码模块化,提高代码的复用性和可维护性;数组则可以方便地存储和管理一组相关的数据。通过合理使用函数和数组,可以编写出更加高效、灵活的 shell 脚本。在实际应用中,还可以将函数和数组结合起来,实现更加复杂的功能。同时,要注意函数的参数传递、返回值处理以及数组的操作方法,避免出现错误。不断练习和实践,才能更好地掌握函数和数组的使用技巧。

2501_91112123的博客 1344

Shell编程之循环语句与函数

前言 在生产过程中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他的命令相同。当面对各种列表重复任务时,使用简单的if 语句已经难以满足要求,而顺序编写全部代码更是显得异常的繁琐、困难重重。这就要需要循环语句,可以很好的解决类似的问题。 一、循环语句 1.1 for 循环语句 使用 for 循环语句时,需要指定一个变量及可能的取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。在这里,“取值列表”称为 for 语句的执行条件,其中包括多个属性相

WuDan_1112的博客 1449

函数与数组

sum=0dodoneecho $sumsum1=0sum2=0dothenelsefidoneecho "偶数的和为:$sum1"echo "奇数的和为:$sum2"运行结果偶数的和为:92奇数的和为:107dothenmax=$ifithenmin=$ifidone结果max=7min=1。

ibertine_P的博客 866

shell 函数和数组

函数 Shell函数在实际工作中经常使用,因为有一些命令是需要反复调用的,如果每次都重复写一遍,代码量冗余,可以将这一些命令定义成一个函数,调用这个函数就可以重复使用这些命令。 函数的定义的基本格式 function 函数名(){undefined 命令序列 return x } 定义函数时,function 可以省略,直接写函数名(){} return 用来返回给系统一个值,可以用来调试脚本,比如执行到脚本的某一行时,返回一个值来标识脚本走到这一步了。 函数的简单应用 [root@localhost ~]

zhangyasuo的博客 96

!浅识!shell函数及数组

Shell 函数及数组SHELL函数函数的用法基本格式函数的调用示例函数变量的作用范围示例函数的参数递归函数SHELL 数组数组定义的方法数组的基本使用方法:1.获取数组长度2.读取某下标赋值3.数组遍历4.数组切片5.数组替换6.数组删除 SHELL函数 函数的用法 Shell 函数可用于存放一系列的指令。在 Shell 脚本执行的过程中,函数被置于内存中, 每次调用函数时不需要从硬盘读取,因此运行的速度比较快。在 Shell 编程中函数并非是必须的元素,但使用函数可以对程序进行更好的组织。将一些相对独立

CN_LiTianpeng的博客 2229
上一篇: Linux防火墙设置
下一篇: MySQL基础知识
Figust_07
博客等级 码龄4年 9粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值