【shell】函数、数组、免交互

简介: 文章目录前言一、定义二、函数

一、定义

函数的基本格式、数组赋值与运用、免交互操作。

二、函数

2.1 基础格式

函数名(){
函数主题内容
}
#例:1-100求和函数
num(){
for ((i=0;i<=100;i++;))
do
  let sum+=$i
  done
}
####main####
sum=0
num
echo "$sum"

2.2 变量范围/返回值

  • 直接定义变量,则变量全局有效
  • local 变量:将变量定义为仅在当前函数有效

三、数组

3.1 数组赋值/追加赋值/值替换/值完整判断

#数组赋值
数组=(值1 值2 值3......)
数组=($列表变量)
数组=([下标1]=值1 [下标2=值2])
数组[下标]=值
#追加赋值
数组+=(值1 值2......)
数组=("${数组[@]}" 值1 值2......)
数组[n]=值
#临时替换所有能匹配的字符
${数组[@]/旧字符/新字符}
#永久替换所有能匹配的字符
数组=(${数组[@]/旧字符/新字符})
#当数组长度为下标时,若该值为空,则数组完整
${数组{长度}}

3.2 内容显示/长度测算/内容切片/删除数组

#将值作为整体返回
${数组[*]}
#将值作为个体返回
${数组[@]}
#显示数组中有值的数量(数组长度)
${#数组[*]}
${#数组[@]}
#内容切片(起始位置从0开始计算)
${#数组[*]:起始位置:截取长度}
${#数组[@]:起始位置:截取长度}
#删除数组中对应下标的元素
unset 数组[n]
#删除数组中所有的元素
unset 数组[*]

四、免交互

  • EOF
  • expect

五、思维导图

相关文章
|
2月前
|
存储 Shell
Shell 数组
【10月更文挑战第16天】
32 3
|
25天前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
83 7
|
2月前
|
Shell Linux C语言
Shell 函数
10月更文挑战第4天
23 7
|
2月前
|
Shell PHP 索引
Shell 数组
10月更文挑战第2天
24 1
|
4月前
|
Shell KVM 虚拟化
Shell 数组编程
【8月更文挑战第22天】 Shell 数组编程
53 10
|
4月前
|
Shell Linux 程序员
在Linux中, 什么是shell函数?如何使用它们?
在Linux中, 什么是shell函数?如何使用它们?
|
6月前
|
Shell 开发者
Shell 函数深入解析与实践
了解 Shell 函数的基础,包括定义、参数传递及返回值。函数定义有多种语法,如 `function func() {...}` 或 `func() {...}`。参数通过 `$1`, `$2` 等访问,`$@` 代表所有参数。`return` 用于返回退出状态码(0-255),非数值数据需用 `echo`。正确获取函数返回值应立即检查 `$?`,例如:`result=$?`。实践中不断探索和学习!
42 1
|
7月前
|
存储 算法 安全
shell 脚本之 函数与数组
shell 脚本之 函数与数组
|
6月前
|
存储 Shell 开发者
Shell 数组:灵活操作的秘诀
**Shell 数组简介**:作为基础数据结构,数组在Shell编程中不可或缺。它们存储多个值,下标从0开始。创建如`array=(值1 值2...)`,访问用`${array[index]}`。增删改查及获取长度、拼接数组都有相应语法,例如`unset array[index]`删除元素,`${#array[@]}`获取长度。通过实践这些操作,提升Shell脚本技能。
52 0
|
6月前
|
Shell Linux
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
54 0