自动化管理Linux的好工具:shell script

shell script对于硬件嵌入式行业从业者来说应该是一个常用的工具,它是程序化脚本,是一种自动化管理linux的好工具了,所以对于嵌入式开发的工程师来说也是一个非常实用的工具。

并且在硬件行业中,很多电路板硬件测试的自动化工站也是使用的shell script语言进行编写,使得测试的自动化程度大大提高。

Shell script如字面意思上一样,shell表示"壳",是命令行与系统沟通的一个工具接口,而script就代表脚本的意思。

在使用过程中shell script不同于一般的编程语言需要进行编译或者解析,它可以直接执行(前提是所写的指令是能够在命令行中执行的),非常方便,这个有点像上个世纪的批处理文件(.bat),能够一次执行多个指令。

Shell script的编写和平常的程序语言有很多相似的地方,它也有循环,判断,条件等等的语法逻辑,并且在执行顺序上也是从上到下,从左到右的逻辑顺序。

以下是常见的一些shell script规则

**a,**指令,选项和参数之间的多个空格会被忽略(多个空格只当作一个空格),空白的行也是被忽略

被忽略表情包

**b,**如果输入读取到enter的按钮字符,就会尝试开始执行指令

**c,**和python一样,#也是它的注释符号

**d,**如果出现了"-"的符号,一般表示某种方法,后面会接参数

再来看一个简单的shell script的demo

vim: 是系统用于文本查看,编辑的命令

cat: 对文件内容进行输出打印

这里的#!bin/bash,表示的是这个脚本使用的shell名称类型(不同的shell类型语法用途会有所不同),这里使用的是bash(某一种命令处理器,一般情况下默认的就是选bash);PATH指定的脚本的路径,使得不用写绝对路径,这里是跳转到~/bin文件夹;echo类似是print的作用,可以打印输出字符串;exit 0表示退出脚本,如果想额外判断指令是否执行成功,则可以使用$?这个变量来进行观察,它变为0则表示执行成功。

上面是一个非常简单的程序例子,程序脚本中只有输出没有输入,如果想再其中加入输入的话就需要使用read指令:

read -p xxx 变量,执行之后就会要求输入一个值给变量。

常用的逻辑语法:

判断基本语法样式:

if 条件判断式; then

elif 条件判断式; then

else

循环基本语法样式:

for 变量名 in 取值列表

do

命令序列

done

在编写完shell script之后,就是要考虑如何将这个保存的.sh文件变成一个可执行的脚本了,这个需要进行一些操作,不然就无法执行这个.sh文件。

使用时先cd进入.sh的文件夹,然后使用指令:chomd +x shell.sh,这样之后就可以得到一个可执行的.sh文件,在终端可直接执行。

当然,shell script的内容还是很多很杂的,这里主要是简单介绍下,有空后面会继续更新。

(***Other notes:***chmod是一个计算机函数,功能是可以改变文件的读写许可设置)

相关推荐
wangbing11255 小时前
开发指南149-IotDB-常用命令
linux·运维·iotdb
看着博客敲代码5 小时前
WorkBuddy 接上 Kali MCP 做自动化渗透:信息收集到初步验证的落地记录
linux·人工智能·安全·网络安全·自动化
小HANN7 小时前
华为云企业网站上云实战|从零搭建高可用WordPress全站架构(ECS+RDS+ELB+弹性伸缩+云监控闭环)
linux·运维·服务器·经验分享
wuyk5557 小时前
嵌入式驱动开发:量产级工程化实战(第9篇)——低功耗下的通信可靠性
c语言·驱动开发·stm32·单片机·嵌入式硬件
星恒随风7 小时前
Linux库的底层原理:ELF文件格式、静态链接、程序加载、虚拟地址空间与GOT/PLT详解
linux·运维·笔记·学习·状态模式
创界工坊工作室7 小时前
24-基于单片机的仓鼠养殖环境监控系统设计
stm32·单片机·嵌入式硬件·proteus
碧海银沙音频科技研究院7 小时前
基于炬芯ATS录音卡BLE控制协议
人工智能·嵌入式硬件·算法·语音识别
GeW7 小时前
2026新质生产力路线图:Linux、数据库与智能算力融合报告
linux
AR-26710-8 小时前
Linux Day19——日志轮转
linux·运维
祖力558 小时前
驱动工程搭建与字符设备驱动框架
linux·运维·服务器·内核·arm·imx6ull·驱动