SHELL脚本(上)
目录1.shell基础2.创建脚本基本流程3.变量基础4.特殊变量赋值单引号和双引号的区别反撇号与命令替换read命令--交互式输入5.变量运算exprletbc计算器6.变量类型与作用范围自定义变量与环境变量​编辑只读变量位置变量总结1.shell基础Shell是命令解释器翻译用户和内核之间的对话常见Shellbash默认、sh、tcshShell脚本是命令集合实现自动化操作适合系统管理、批量处理、自动化运维shell脚本的构成#/bin/bach 脚本声明由/bin/bash目录解释#注释信息 解释说明没卵用本质可有可无。命令语句 实际执行 做重要的示例2.创建脚本基本流程创建文件→添加权限→检查语法→执行脚本↓ ↓ ↓ ↓vim xxx.sh chmodx bash -n ./xxx.sh脚本执行方式3.变量基础定义一个变量#格式变量名变量值等号两边不能有空格name小明#规则# -只能包含字母、数字、下划线# -不能以数字开头# -区分大小写变量的引用基本引用变量前加$符号使用花括号表明变量范围fruit苹果echo${fruit}价格的RMBecho的高级用法常用转义字符\n → 换行 \t → 制表符Tab \c → 不换行 \ b → 退格 \\ → 输出\本身 \$ → 输出$本身示例4.特殊变量赋值单引号和双引号的区别tips大大方方用双引号。不容易出毛病。反撇号与命令替换作用把命令输出存到变量里两种写法#反撇号位于Tab键上方timedate %T# $()推荐写法更容易阅读time$(date %T)$()的优势容易嵌套推荐使用 $的写法read命令--交互式输入#基本方式echo请输入姓名read nameecho你好$name#用-p选项简化推荐read-p请输入姓名nameecho你好$name示例5.变量运算expr#用expr做数学运算expr105#输出15#运算符两边必须有空格expr11#✓输出2expr11#✗输出11当字符串了#乘法需要转义*expr2\*3#✓输出6letlet改变的是变量自身# expr方式不修改变量num10expr$num5#输出15但num还是10# let方式直接修改变量num10letnumnum5# num变成15echo$num#输出15#简写num10let num5# num num 5 15letnum-3# num num - 3 12let num*2# num num * 2 24#幂运算num2letnumnum**10# 2的10次方num变成1024bc计算器bc计算器用于小数的计算# bc浮点运算echoscale2; 10/3| bc#输出3.33# scale2表示保留2位小数#计算表达式echoscale3; 10/3| bc# 3.333echo5^2| bc# 25平方echosqrt(16)| bc# 4平方根#变量结合r5echoscale2; 3.14159 *$r*$r| bc# 78.53bc逻辑运算echo3 5| bc#输出0假echo3 5| bc#输出1真echo10 10| bc#输出1真6.变量类型与作用范围自定义变量与环境变量常见环境变量echo$USER#当前用户名echo$HOME#用户主目录echo$PWD#当前工作目录echo$SHELL#默认Shellecho$LANG#系统语言echo$RANDOM#随机数0-32767echo$UID#用户ID只读变量创建只读变量readonly PI3.14159echo 只读变量 PI 的值是: $PI查看当前所有的只读变量readonly位置变量$0→脚本名称test.sh$1→第一个参数张三$2→第二个参数123456$3→第三个参数...$#→参数总数2$*→所有参数整体$→所有参数独立就是运行脚本的时候 在后面加参数 未知变量会引用你写下的参数作为变量#!/bin/bash#创建用户脚本#用法bash user.sh用户名 密码useradd$1echo$2| passwd--stdin$1#执行bash user.sh zhangsan 123456总结shell脚本的基本结构和四种执行方式基础的变量和各种变量的使用

相关新闻

Audio Vivid:三维菁彩声音频体验(204)

Audio Vivid:三维菁彩声音频体验(204)

在鸿蒙(HarmonyOS)应用开发中,Audio Vivid(菁彩声)作为全球首个基于 AI 技术的三维声音频编解码标准,实现了音频技术从传统“声道”到“对象”的跨越式革新。依托鸿蒙系统的音视频底层能力与 AI 编解码技术…

2026/10/3 10:43:36 阅读更多 →
别再抄“万能提示词”了:一篇讲清提示词、上下文工程和 Markdown

别再抄“万能提示词”了:一篇讲清提示词、上下文工程和 Markdown

01 抄再多,AI为什么还是答非所问? 扔掉网上抄来的“万能提示词”吧。 抄得再多,AI照样可能答非所问。 你一定见过这种开头:你是一位资深文案专家,擅长短视频创作。请用专业、严谨、有感染力的方式,帮我写一…

2026/10/9 15:22:23 阅读更多 →
面试官:`try { return “a“; } finally { return “b“; }` 到底返回什么?99% 的人第一次都答错了!

面试官:`try { return “a“; } finally { return “b“; }` 到底返回什么?99% 的人第一次都答错了!

Java 面试中,经常会出现这样一道经典题: public static String test() {try {return "a";} finally {return "b";} }很多人第一反应是:返回 "a",因为 try 先执行。也有人认为:finally 只…

2026/10/10 5:11:29 阅读更多 →

最新新闻

CentOS下Docker安装实战:从环境准备到常见坑排查

CentOS下Docker安装实战:从环境准备到常见坑排查

安装 Docker 这件事,听起来是再简单不过的一个操作,但我在实际帮人排查故障时发现,很多人恰恰是在“简单”上栽了跟头。前两天一位朋友让我看他的测试服务器,Docker 装完一直起不来,systemctl status 报错一大串。我上…

2026/10/12 4:08:28 阅读更多 →
JGB28181解析:Java平台接入国标设备的SIP与RTP实战指南

JGB28181解析:Java平台接入国标设备的SIP与RTP实战指南

简介:基于Java实现的GB28181国标平台源码,面向安防视频监控领域的Java开发者和需要对接国标设备的工程师,可用于学习GB28181协议的信令交互、设备注册、目录查询与实时视频流传输实现。压缩包共49个文件,约64KB,以43个…

2026/10/12 4:08:28 阅读更多 →
2026考研408真题高频题型精讲:四科核心考点与实战策略

2026考研408真题高频题型精讲:四科核心考点与实战策略

备考 408 的同学都知道,这门科目真正难的不是某一道题,而是四门专业课被揉在同一张卷子里,知识密度极大,复习周期又长。很多同学刷完一轮基础课后,信心满满地打开真题,结果第一套就做到崩溃:选择…

2026/10/12 4:08:28 阅读更多 →
reverse_re3逆向实战:从二进制分析到校验逻辑还原

reverse_re3逆向实战:从二进制分析到校验逻辑还原

从“拿到一个未知二进制”到“拿到flag”,其实是一条很清晰的链路:先确认文件形态,再锁定核心校验函数,静态还原出变换逻辑,最后用动态调试验证结论,写脚本逆推。这篇文章以我在某个CTF训练平台刷到的 reve…

2026/10/12 4:08:28 阅读更多 →
GB28181 Java实现:从SIP信令到RTP媒体流的国标平台开发指南

GB28181 Java实现:从SIP信令到RTP媒体流的国标平台开发指南

简介:基于Java实现的GB28181国标平台JGB28181,面向安防监控与视频联网开发者,用于快速搭建符合GB/T 28181协议的接入服务。压缩包共49个文件,以43个Java源码为主,配合2个XML、1个properties、1个YAML配置及Maven构建文…

2026/10/12 4:08:28 阅读更多 →
408考研刷题误区:用真题选项地毯式排查,建立概念知识网

408考研刷题误区:用真题选项地毯式排查,建立概念知识网

很多备考408的同学都有过这种体验:王道/天勤的课后题刷了两三遍,选择题命中率也不差,可一上真题,仍然会在一道“概念性选项”上卡住。你不是不认识那个词,而是你不确定那个词在当前语境下到底对不对。这种状态非常典型…

2026/10/12 4:07:28 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →