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的内容还是很多很杂的,这里主要是简单介绍下,有空后面会继续更新。
全部0条评论
快来发表一下你的评论吧 !