自动化管理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是一个计算机函数,功能是可以改变文件的读写许可设置)

相关推荐
盐焗鹌鹑蛋12 小时前
【Linux】缓冲区
linux·运维·服务器
hsjiasb12 小时前
FreeRTOS学习(二十三)——消息缓冲区(Message Buffer)
stm32·单片机·嵌入式硬件·学习·freertos
ltl14 小时前
向量库与图 RAG:HNSW、DiskANN 到 GraphRAG
linux
学代码的CJY15 小时前
Linux 库制作与原理:静态库、动态库、ELF 与动态链接完全指南
linux·运维·服务器
沸速存储16 小时前
CPU 和 GPU 核心差别在哪?为什么 AI 训练离不开 GPU
服务器·人工智能·科技·嵌入式硬件·电脑
呱呱巨基17 小时前
Linux 查找命令
linux·笔记·学习·查找命令
basketball61617 小时前
软考中级网络工程师 第4章 无线通信网 备考总结
linux·服务器·网络·网络工程师·软考
我不会JAVA!17 小时前
【无标题】
嵌入式硬件·h.264
芯岭技术郦17 小时前
OM6625A芯片 Timer 定时器计数模式使用说明
stm32·单片机·嵌入式硬件
好评12417 小时前
【Linux】进程信号
linux·运维·服务器