shell脚本学习记录
2023-08-23 12:02 HQS_blog 阅读(8) 评论(0) 编辑 收藏 举报参考文章:https://blog.csdn.net/weixin_43288201/article/details/105643692
1.脚本必须有可执行权限
chmod +x test.sh //给test.sh文件的所有组增加可执行权限,也可以根据数字增加 可读4、可写2、可执行1 如:chmod 755 test.sh
2.脚本的调用形式 以及编写规范
2.1脚本需要以 #!/bin/bash 开头,用来声明脚本用什么shell解释器解析,不写则是默认shell解析 默认解析路径为/bin/bash
2.2脚本调用形式
./test.sh //使用脚本第一行指定的解析器解析
bash test.sh //使用bash解析,不存在则使用默认解析器
. test.sh //直接使用默认解析器解析
3.定义变量
3.1变量名=变量值 num=10
引用这个变量 $num
设置成只读变量 readonly num=10
清除变量 unset num
3.2从键盘读取输入的值,read data1 data2
读取之后引用 $data1
3.3 查看环境变量 env
3.4导出环境变量 export,使其设置为全局变量(shell脚本和命令行均可使用该变量)
命令为:source testenv.sh 或者 . testenv.sh
在其他脚本中使用全局变量
3.5shell脚本中单引号、双引号、反引号
单引号不能解析变量,会将$num当成字符处理
双引号可以解析变量,会将$num当成变量处理
反引号:反引号中的内容会作为系统命令识别并执行
3.6 shell中无需自定义的变量,如图
3.7变量是否存在
${num:-val} 如果num存在,则变量值为num.;否则为val
${num:=val} 如果num存在,则变量值为num.;否则为val,并将val的值赋值给num
3.8字符串操作
4.条件测试
4.1 test命令,格式为test condition 或者[ condition ]
4.2 shell判断是否为空
第一种方法:
if [ ! -n "$2" ] ; then
echo "IS NULL"
fi
第二种方法:
if [ ! $2 ] ; then
echo "$2是空"
fi
5.控制语句
for循环语句
6.函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2020-08-23 python做数据分析-基础 --更新中
2018-08-23 Java中Json对象与xml字符串互转