[linux]第一天:shell脚本语言:变量、测试、控制语句以及函数的全面详解
目录一、shell的概述1、shell本质是脚本文件:完成批处理。2、shell 是软件也是语言。3、系统默认调用的两个脚本文件​3、写脚本的步骤二、shell的自定义变量1、定义变量2、引用变量3、清除变量4、只读变量4、shell的变量 获取键盘输入read三、环境变量1、将脚本变量导出为环境变量2、变量的注意事项​3、修改和追加环境变量的值四、预设变量​五、shell脚本的特殊用法​六、条件测试1、条件测试的语法2、文件测试3、字符串测试4、数值测试5、复合测试​编辑七、控制语句1、if控制语句2、case控制语句​编辑3、for循环语句​编辑4、while循环语句5、until循环控制语句八、函数一、shell的概述1、shell本质是脚本文件:完成批处理。shell脚本是一种脚本语言,我们只需使用任意文本编辑器,按照语法编写相应程序,增加可执行权限,即可在安装shell命令解释器的环境下执行。shell 脚本主要用于帮助开发人员或系统管理员将复杂而又反复的操作放在一个文件中,通过简单的一步执行操作完成相应任务,从而解放负担。2、shell 是软件也是语言。软件:作为shell命令解析器(如sh、ash、bash(默认)),将脚本文件逐行解析执行。语言:shell脚本语言,符合解析器的规则。它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支完成类似于windows下批处理操作,简化我们对系统的管理与应用程序的部署。3、系统默认调用的两个脚本文件这类脚本无需用户调用,系统会在合适的时候调用,如:/etc/profile、~/.bashrc等/etc/profile:对系统的所有用户都有效,系统的公共环境变量在这里设置。用户登录系统的时候 执行。~/.bashrc:用户自己的家目录中的.bashrc,对登录的用户有效,一般设置与个人用户有关的环境变量。用户登录、打开终端时调用。以修改~/.bashrc为例:家目录下能找到.bashrc输入vim .bashrc命令:在最后编辑打印echo "hello world":保存并退出重新打开终端如图所示:3、写脚本的步骤第一步:#!/bin/bash(#!表示指明脚本命令解析器用bash)第二步:写脚本,如echo "hello world"第三步:给脚本增加 可执行权限:chmod +x 脚本文件(u+x:所拥有者+x、g+x:同组用户+x、0+x:其他用户+x)第四步:执行脚本文件三种执行方式:./00_shell.sh首先检测#!,使用#!指定的shell,如果没有使用系统默认的shell命令解释器. 00_shell.sh不检测#!,使用系统当前shell读取解释00_shell.shbash 00_shell.sh不检测#!,直接指定使用bash解释00_shell.sh用./和bash去执行会在后台启动一个新的shell去执行脚本用.去执行脚本不会启动新的shell,直接由当前的shell 去解释执行脚本。如果因格式导致执行shell出错,解决方法:方法一:sudo apt‐get install dos2unixdos2unix 脚本文件方法二: 用vim打开脚本,在最后一行模式下执行 :set ff=unix(指明为unix文件格式)二、shell的自定义变量1、定义变量变量名=变量值,如num=10(无需标识数据类型及分号)

相关新闻

【linux】第二天 linux系统调用及文件IO操作

【linux】第二天 linux系统调用及文件IO操作

目录 一、系统调用 1、概述 2、系统调用和库函数区别 3、系统调用及IO操作 二、文件描述符 1、概述 2、文件描述符表对文件描述符的管理 3、查看当前系统文件描述符最大数量ulimit -a 三、文件IO的操作 1、打开文件 open 2、close 关闭文件描述符 3、向文件写数据…

2026/7/24 20:18:35阅读更多 →
Cesium 实战 11 - 调整饱和度、对比度等参数,加载渲染美化影像底图

Cesium 实战 11 - 调整饱和度、对比度等参数,加载渲染美化影像底图

Cesium 实战 11 - 调整饱和度、对比度等参数,加载渲染美化影像底图 渲染美化影像底图核心代码 完整代码: 在线示例 2026年7月17日更新:搞了一个 Cesium 中文 API 镜像,这是相关介绍(Cesium-1.143 中文版 API),欢迎使用。 美化影像底图,其实就是相当于调整了图层亮度,…

2026/7/24 20:18:35阅读更多 →
【pgSql 海量数据库操作记录】

【pgSql 海量数据库操作记录】

一、批量插入数据【测试用】1.1、sql 语法sql 模板DO $$ DECLAREi integer : 1; BEGINWHILE i < 10 LOOPINSERT INTO my_table (col1, col2, col3) VALUES (value1, value2, i);i : i 1;END LOOP; END $$;案例测试 sqlDO $$ DECLAREi integer : 1; BEGINWHILE i < 100 L…

2026/7/24 20:18:35阅读更多 →
AI获客+自动成交+客户留存全闭环,创业者私藏的9件套工具清单,仅开放72小时下载!

AI获客+自动成交+客户留存全闭环,创业者私藏的9件套工具清单,仅开放72小时下载!

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI获客自动成交客户留存全闭环方法论 在数字化营销纵深演进的当下&#xff0c;单一工具或孤立环节已无法支撑可持续增长。真正的增长引擎&#xff0c;是将获客、转化与留存嵌入统一智能体中&#xff0c…

2026/7/24 21:46:49阅读更多 →
提示词格式控制实战指南:3步精准锁定输出结构,告别杂乱无章响应

提示词格式控制实战指南:3步精准锁定输出结构,告别杂乱无章响应

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;提示词格式控制的核心价值与认知重构 在大语言模型应用实践中&#xff0c;提示词&#xff08;Prompt&#xff09;并非简单的自然语言输入&#xff0c;而是具备结构化语义与执行契约的“程序接口”。格式控制—…

2026/7/24 21:46:49阅读更多 →
React+Three.js 实现 Apple 热成像 logo

React+Three.js 实现 Apple 热成像 logo

React Three.js 实现 Apple 热成像 Logo 引言热成像效果是一种通过颜色渐变来表现温度分布的可视化技术&#xff0c;在工业检测、医疗影像和艺术创作中都有广泛应用。本文将带你从零开始&#xff0c;使用 React 和 Three.js 构建一个动态的 Apple logo 热成像效果。我们将从基…

2026/7/24 21:46:49阅读更多 →
从0到1构建AI模型评估实验室:含自动化测试脚本、偏见检测模板、推理延迟压测方案(限前200家企业领取)

从0到1构建AI模型评估实验室:含自动化测试脚本、偏见检测模板、推理延迟压测方案(限前200家企业领取)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;企业AI模型选择建议 企业在落地AI应用时&#xff0c;模型选择不应仅聚焦于“最先进”或“参数量最大”&#xff0c;而需围绕业务目标、数据特征、工程约束与长期维护成本进行系统性权衡。盲目引入大模型…

2026/7/24 21:46:49阅读更多 →
Java虚拟机:堆的参数配置

Java虚拟机:堆的参数配置

一、JVM堆内存结构概览JVM将堆内存划分为几个不同的区域&#xff0c;每个区域有着不同的用途和回收策略&#xff1a;1.1 新生代&#xff08;Young Generation&#xff09;新生代是大多数对象创建和消亡的地方。它进一步分为三个区域&#xff1a;Eden空间&#xff1a;新创建的对…

2026/7/24 21:46:49阅读更多 →
手把手教你学pcie-第二种:MMIO 空间(Memory-Mapped I/O)

手把手教你学pcie-第二种:MMIO 空间(Memory-Mapped I/O)

目录 五、第二种&#xff1a;MMIO 空间&#xff08;Memory-Mapped I/O&#xff09; 1️⃣ MMIO 是什么&#xff1f; 2️⃣ MMIO 和配置空间的本质区别 3️⃣ MMIO 从哪里来&#xff1f; 4️⃣ CPU 眼中的 MMIO 5️⃣ Linux 驱动如何访问 MMIO&#xff1f; ✅ 第一步&…

2026/7/24 21:44:49阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好&#xff0c;我是一名编程初学者&#xff0c;同时这也是我编程学习之路上的第一篇博客。在这里&#xff0c;我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手&#xff0c;目前在学习c语言&#xff0c;我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述&#xff1a; 解法&#xff1a; 1、模拟&#xff08;参考自【LeetCode 54】螺旋矩阵-CSDN博客&#xff09; int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会&#xff0c;昔日AI六小龙来了五家&#xff0c;分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了&#xff0c;唯一缺席的竟是近几个月来风光无限的智谱。&#xff08;DeepSeek一直不参加&#xff09;WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/24 19:00:40阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/24 19:00:40阅读更多 →