Shell 脚本学习小纲 ~

ue4 classuobject没有成员beginplay_【教程】UE4 C++实现简单的AI及遇到的坑 后续文章更新移步→微信公众号“虚幻社区”(mantra-xhsq),您的支持是我创作的动力。我们这篇文章的宗旨是用代码实现简单的AI,有多简单,只是搭建一个具有PawnSensing组件和回调的AI。重点也不是做一个AI,而是了解一下C++代码如何搭建最基本的AI(关于蓝图如何创建请自行百度)。如果英语还不错的话,可以移步 参考链接,链接中的内容除了创建基本的PawnSensing组件还有关于行为... 阅读详情

前言

        想说能点进来的朋友肯定是想学习和练习shell脚本。但学习一个东西,最好是系统性从基础去学,否则会导致地基打不稳,后边遇到问题也会花费大量时间找补。

        接下来我根据个人经验以及统合网上的现成的资源在这里为大家梳理一下shell脚本学习的路径与新手容易犯的错误。不管是想做自动化任务,或者准备面试,希望都能对你们有用。

一、Shell 脚本学习路径

1. 基础知识
  • Shell 解释器:了解 #!/bin/bash(Shebang)的作用,不同 Shell 的区别(Bash/Zsh)

  • 脚本结构:如何创建可执行脚本(chmod +x script.sh)

  • 变量:定义变量、环境变量、特殊变量($0, $1, $?, $$)

  • 输入输出:echo, read, 重定向(>, >>, 2>)

  • 条件判断:if-elif-else, test 或 [ ],case 语句

  • 循环:for, while, until

  • 函数:定义和调用函数,参数传递

  • 调试:set -x, set -e 的使用

2. 进阶内容
  • 字符串处理:${var#pattern}, grep, sed, awk

  • 数组操作:定义数组、遍历、切片

  • 文件操作:find, xargs, 文件权限管理

  • 信号处理:trap 命令捕获信号

  • 正则表达式:基础正则和扩展正则

  • 脚本优化:避免过度使用管道,使用 $( ) 替代反引号

3. 高级技巧
  • 并行处理:& 后台运行,wait 等待任务

  • 日志记录:logger 命令和系统日志

  • 交互式脚本:select 菜单,dialog 工具

  • 安全实践:避免使用 eval,处理用户输入

二、练习方法

切忌眼高手底~

1、从简单的开始练习编写

# 练1:  输出当前日期和用户
echo "Today is $(date), user is $USER"

#  练2:计算 1~100 的和
sum=0
for i in {1..100}; do
    sum=$((sum + i))
done
echo "Sum: $sum"

2、刷题平台

3、实际项目(备份脚本、日志分析...)

文件备份脚本:自动压缩指定目录并备份到 /backup 下

日志分析工具:统计 Apache/Nginx 日志中的高频 IP

系统监控脚本:检测磁盘使用率超过 80% 时发送邮件告警

自动化部署:通过脚本批量安装软件包或更新配置

三、推荐学习资源

1. 书籍
  • 《Shell 脚本学习指南》(经典)

  • 《快乐的 Linux 命令行》(免费在线阅读)

2. 在线教程
3. 社区与问答
4. 挑战平台

四、常见错误与调试

  1. 权限问题:脚本没有执行权限 → chmod +x script.sh

  2. 路径错误:使用相对路径导致找不到文件 → 用绝对路径或 cd 切换目录

  3. 变量赋值错误:等号两侧不能有空格 → name="value"(非 name = "value")

  4. 条件判断空格:if [ $a -eq 1 ] 方括号内必须保留空格

  5. 未处理特殊字符:文件名含空格时要用引号包裹 → "$file"

五、课后作业 (大佬请跳过)

如果能看懂,请在评论区留言,这两个脚本是干什么用的~ 

(1)
for file in *.txt; do
    mv "$file" "${file%.txt}.md"
done

------------------------------------------------------------------------------------

(2)
if ! systemctl is-active --quiet nginx; then
    systemctl restart nginx
    echo "Nginx restarted at $(date)" >> /var/log/nginx_monitor.log
fi

-------------------------------------------------------------------------------------

通过持续练习才是掌握一门技术的关键。

雄关漫道真如铁,
而今迈步从头越。

  --忆秦娥·娄山关

                                                                                祝大家越来越好~

使用MATLAB和Simulink来设计并仿真一个智能家居多传感器数据融合系统 智能家居多传感器数据融合系统旨在通过集成来自多种不同类型的传感器的数据,以提供更精确和可靠的环境信息或用户状态监测。例如,将温度、湿度、光照强度、运动检测等多种传感器的数据结合起来,可以更好地了解家庭内部的状态,并做出相应的调整或响应。在这个教程中,我们将使用MATLAB和Simulink来设计并仿真一个智能家居多传感器数据融合系统。 阅读详情

相关推荐

W25N01GV SPI NAND Flash驱动开发避坑指南:详解2KB缓冲区机制与状态寄存器正确用法

本文深入解析W25N01GV SPI NAND Flash芯片的2KB缓冲区机制与状态寄存器正确用法,提供STM32 HAL和ESP-IDF项目的实战解决方案。涵盖双阶段操作原理、状态寄存器深度解析、时序控制优化及跨平台驱动设计要点,帮助开发者避免常见错误并提升存储性能。

aizhouqian5537的博客 640

脚本语言学习——Shell(一)

在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。数组名=(值1 值2 . . . 值n)或者value1value2value3)可以不使用连续的下标,而且下标的范围没有限制。

future_dreams的博客 979

西门子PLC新手必看:200SMART与1200/1500的MODBUS RTU通讯实战(附完整配置流程)

本文详细解析了西门子PLC中S7-200 SMART与S7-1200/1500之间实现MODBUS RTU通讯的完整实战流程。内容涵盖硬件接线、软件配置及程序编写,重点讲解了200SMART作为从站、1200/1500作为主站的典型架构,并提供了关键功能块的使用方法和常见问题排查技巧,帮助新手快速打通不同系列PLC间的数据交换。

weixin_29214559的博客 398

Linux日志logger

一 通过logger命令记录日志 logger 是一个shell 命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。 日志的级别 facility:  auth       -用户授权  authpriv   -授权和安全  cron       -计划任务:at ,cron  daemon     -系统守护进程

Balder~专栏 4352

CCS20实战入门:第一个工程搭建示例

通过实际操作演示如何在ccs20中创建并配置首个开发项目,涵盖环境设置与基础调试步骤,帮助新手快速上手ccs20集成开发环境,提升嵌入式开发效率。

weixin_31185473的博客 888

华为海思:大小海思的双轮驱动战略分析

大海思的定位清晰明确,即专注于为华为内部提供高性能、高集成度的芯片解决方案,以支持华为终端、服务器等业务的快速发展。小海思的产品线广泛,涵盖了广域物联、短距物联、手机穿戴、显示交互、智慧视觉、智慧媒体、MCU、模拟以及光模块等多个领域。通过提供多样化的芯片解决方案,小海思旨在满足外部客户的不同需求,拓展华为海思在芯片市场的份额和影响力。大海思的产品布局主要围绕华为的内部需求展开。在智能手机应用处理器方面,大海思的麒麟系列芯片已经成为华为手机的标志性产品,以其出色的性能和能效比赢得了市场的广泛认可。

dream it possible 2924

超详细shell脚本编程快速入门

文章目录 1.shell简介 1.1 什么是shell 1.2 shell脚本 1.3 运行shell脚本 1.4 shell注释 1.5 shell编写的基本步骤 2.shell变量 2.1 命名变量 2.2 使用变量 2.3 变量类型 2.4 变量操作 3.shell字符串 3.1 字符串类型 3.2 字符串操作 4.shell数组 4.1 定义数组 4.2 数组操作 5.shell传递参数 6.shell运算符

qinjie的博客 9万+

小论文/大论文必备 | YOLO多模态目标检测、绘制曲线对比图 | 引入多种绘制曲线对比图,包括mAP0.5,mAP0.5:0.95,Loss损失变化的曲线对比

本文通过可视化方法分析YOLO多模态模型的训练过程,对比不同实验的检测精度和损失函数变化。主要内容包括:1)绘制mAP@0.5和mAP@0.5:0.95曲线评估检测精度;2)分析边界框回归损失(box_loss)、分类损失(cls_loss)和分布式损失(dfl_loss)的收敛趋势;3)提供完整的Python代码实现,支持多实验对比,可生成高清曲线图。该方法能直观展示模型训练效果,便于优化策略评估和参数调优。

Ai缝合怪、助力小伙伴高效发论文 261

油猴教程,学习使用脚本,让学习更高效

3.建议:用ocs网课助手先把所有视频任务点刷完,然后再用超星进行答题,不过有时自动答题不完整,需要手动把答案填上。1.第一步:打开Edge浏览器,点击右上角的三个点,选择扩展选项。1.可以刷课的脚本:OCS网课助手可以开二倍速,自动播放视频。2.超星可以自动答题,也可以自动播放视频。9.第九步:点击需要的脚本安装。5.微软浏览器自带的好用脚本。4. 划词搜题也挺不错的。

Dong雨的博客 5429

在Tricore上移植μC/OS-III——1.1 AURIX Development Studio的使用

本文主要介绍AURIX Development Studio软件的安装和使用方法。 英飞凌针对Tricore系列单片机推出了一款免费的软件——AURIX™ Development Studio,集成了iLLD库,内置Tasking compiler和Tasking Debugger,但这两个模块只能用于非商业用途,可供学习和试用。iLLD库是英飞凌为TC2XX和TC3XX Tricore系列单片机提供的底层驱动库,有完善的使用手册,和较好的移植性。 可从下面的链接获取软件安装包,软件安装好后,新建工程时会自

weixin_42967006的博客 2290

【电弧】基于matlab simulink电弧仿真模型(Mayr Cassie电弧模型)【含Matlab源码 9226期】

simulink电弧仿真模型(Mayr Cassie电弧模型) 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 194

Linux脚本:将.sh文件输出映射到日志文件并添加时间戳

- 在linux系统中,当调用.sh脚本时,脚本中的标准输出原本是打印到控制台的,我们可以将其打印到某个文件,并添加上时间戳,方便问题溯源。 - 有时我们运行的脚本是.py脚本,也需要将输出映射到日志文件。

天城电子嵌入式的博客 2337

Python 爬虫实战:攻克小红书种草笔记,抓取美妆好物推荐数据

通过本次 Python 爬虫实战,我们成功地从小红书爬取了美妆种草笔记的数据,并进行了存储、处理、分析和可视化展示。在这个过程中,我们不仅掌握了爬虫技术的基本应用,还学会了如何对动态加载的数据进行处理和分析。然而,本次爬虫任务也存在一些局限性,例如仅爬取了部分笔记的数据,且未对笔记中的图片和视频内容进行分析。在未来的工作中,我们可以进一步优化爬虫程序,爬取更多笔记的数据,并深入分析笔记中的多媒体内容、用户行为模式等,为美妆品牌和消费者提供更有价值的数据支持。

u014481728的博客 3272

Shell脚本学习

(1)定义变量:变量=值(2)撤销变量: unset 变量(3)声明静态变量:readonly变量,注意不能 unset2、变量定义规则(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写(2)等号两侧不能有空格!(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。(4)变量的值如果有空格,需要使用双引号或单引号括起来。

小石潭记丶 1272

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

超牛逼!100 个开箱即用的 Shell 脚本,拿好了~

点击下方公众号「关注」和「星标」回复“1024”获取独家整理的学习资料!shell脚本是帮助程序员和系统管理员完成费时费力的枯燥工作的利器,是与计算机交互并管理文件和系统操作的有效方式。区...

民工哥的博客 4180

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Shell 脚本学习

不难看出我们创建的helloworld.sh文件他的权限信息为:-rw-r–r–,对于我们现在登录的root账号也就是对应的第二个到第四个"rw-"也就是仅仅只有读写的权限没有执行的权限,我们如何解决这个问题,以上例子中,: 是一个空命令,用于执行后面的 Here 文档,<<‘EOF’ 表示开启 Here 文档,COMMENT 是 Here 文档的标识符,在这两个标识符之间的内容都会被视为注释,不会被执行。Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。

qq_56440330的博客 1273

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

shell脚本学习基础

本篇博客将会介绍(Contents): 1、什么是shell,shell解释器和命令(或称工具)之间有什么区别 2、“变量”和“命令”的区别 3、出口状态和标准输出的区别:标准输入和参数的区别; 4、linux中的空格 5、如何执行shell脚本 6、接下来几篇博客内容 7、使用和参考书籍 Refer...

huayangshiboqi的博客 9446

学习shell脚本

什么是shell脚本 为什么要学习shell脚本 第一个脚本编写与执行 简单的shell脚本练习 简单案例 脚本的执行方式差异(source、sh script、./script) 如何使用shell脚本的判断式 利用test命令的测试功能 利用判断符号[ ] shell脚本的默认变量($0、$1...) shell脚本的条件判断式 利用 if...then 利用case...esac判断 利用function功能 $()和\$(())讲解 shell脚本的循环 while do done、until do

不知道 1231

shell脚本学习——编程之变量定义

文章目录SHELL编程模块课程目标一、SHELL介绍1. 编程语言分类2. shell简介3. shell脚本㈠ 什么是shell脚本?㈡ 什么时候用到脚本?㈢ shell脚本能干啥?㈣ 如何学习shell脚本?㈤ 学习shell脚本的秘诀㈥ shell脚本的基本写法㈦ shell脚本的执行方法==二、变量的定义==1. 变量是什么?2. 什么时候需要定义变量?3.变量如何定义?4. 变量的定义规则㈠ 变量名区分大小写㈡ 变量名不能有特殊符号㈢ 变量名不能以数字开头㈣ 等号两边不能有任何空格㈤ 变量名尽量做

fangfeng1021的博客 3581

【Linux系统命令及shell脚本学习③】~第一个shell脚本

脚本语言是相对于编译型语言而言的,它是为了缩短编译型语言编写—编译—链接—运行(Edit-Compile-Link-Run)过程而创建的计算机编程语言。由于脚本语言常常运行于底层,所处理的是字节、整数、浮点数或其他机器层的对象,因而,脚本语言是低级程序设计语言。如C\C++、Ada、Java、C#等都属于编译型语言,也可称为高级程序设计语言,这类语言所编写的程序需要经过编译,将源代码转化为目标代码才能运行。......

weixin_50597697的博客 701

Shell脚本学习笔记

Shell学习笔记Shell学习笔记 简介 Shell教程入门 1shell脚本 2shell脚本实践 Shell变量 1使用变量 2只读变量 3删除变量 4变量类型 5shell字符串 6Shell数组 7Shell注释 Shell传递参数 1实例 Shell数组 Shell运算符 1算术运算符 2关系运算符 3布尔运算符 4逻辑运算符 5字符串运算符 6文件测试运算符 Shell echo命令

冰路梦 4593

shell脚本学习

变量名不能加美元符号;命名只能使用英文字母,数据和下划线,首个字符不能一数字开头;中间不能有空格,可以使用下划线_;不能使用标点符号;不能使用bash里的关键字(可用help命令查看保留关键字)

m0_55471400的博客 1071

Shell简介——Shell配置脚本的加载与修改(/etc/profile、~/.bashrc等)

以下内容源于C语言中文网的学习与整理,非原创,如有侵权请告知删除

主要记录嵌入式学习与开发过程。 2949

shell脚本[3~9]

学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章。笔记只是方便学习,以下内容只涉及学习内容,切莫逾越法律红线。安全见闻,包含了各种网络安全,网络技术,旨在明白自己的渺小,知识的广博,要时时刻刻保持平等的心,很多分类组合有互相包含也属于正常情况,遇到问题就能够举一反三。

qq_35690972的博客 782

简单的Shell脚本

Shell 是一个C 语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给 Shell 处理。Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。shell编程通常指的是学习shell命令语法后,利用这套语法开发脚本程序,操作、访问内核服务。而不是使用C语言去编写一个shell程序。

m0_70882914的博客 1298

【学习Shell脚本编程】

学习Shell脚本编程是掌握Linux系统管理和自动化任务的关键。以下是一个详细的学习路径和资源推荐,帮助你从零基础开始学习Shell脚本编程。什么是Shell:基本命令: 2. 基本的Shell脚本编写 编写第一个Shell脚本: 变量和参数: 3. 控制结构 条件语句: 循环: 4. 函数和脚本调试 定义和调用函数: 脚本调试: 5. 高级主题 文件操作和重定向: 管道和子进程: 6. 实践和项目 小项目:持续学

m0_59789328的博客 1099
上一篇: 云在天边水在瓶
下一篇: 通俗易懂的认识 —— ’云‘ 技术
烟雨ly
博客等级 码龄9年 19粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值