跟鸟哥学Linux之——shell script

从程序员的角度来看,Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在系统管理等领域,Shell编程起着不可忽视的作用。前期我对shell编程做了一个初步的认识,现总结如下;

思维导图:

知识分为了两部分:

基本知识:

在基本知识中我将其分为了:执行方法、运算式、变量和判断式四部分。1、执行方法就是在Linux中shell文件执行的命令,用的多了自然会没有问题。2、对于运算其中讲解了(()),基本语句为变量=$((运算式)),其中关于得到的结果也常常运用于作为语句的判断依据,它会得到一个返回值,即变量$?它的值为0表示语句的执行成功,非0表示语句的执行失败。Declare 用于声明一个变量,后面可以指明变量类型,例如:-i。同样let也可以给变量赋予相应的值,通过运算式得到。3、对于变量其中返回值$?前边已经提过了,对于默认的变量$#,这些默认变量一般用于每一行中依据某一标准而形成的各个字段的表示。前期博客中在文件排版中曾提到过。4、判断式有test做测试功能,它可以检测系统文件的相关属性,一个很有用处的命令,后面可以接很多的参数,相关的参数要学会利用—help
或man page来查询和学习。还有就是[ ]的相关用法了,对于[ ]用来做一些表达式的判断,对于判断式的结果,它同样会得到一个返回值,所以也会作为语句中的一个判断依据来执行一些相关的操作。

编写语法:

看到这里和前期学习C语言和VB语言有很多的相似之处,但也存在有很多不同之处,下边在总结中来看他们的用法。

条件判断语句;

If…then语句:

if后接一个判断条件,then后接上要执行的语句,同样结构也可拓展为如下:

if 条件then

执行语句

elif条件then

执行语句

else

执行语句

fi

case…esac语句:

功能类似于C中的switch语句。具体的结构如下:

case$变量名 in

第一个变量名)

执行语句

;;

第二个变量名)

执行语句

;;

*)

其他情况执行语句

;;

esac

函数

函数功能,这和前期学习中的函数功能相同。但结构上是有差别的,如下:

Function函数名(){

函数体

}

循环语句:

while/untildo done

其实while dodone语句和until do done语句是相似的都是不定次数的循环,只是给定条件而已,vb中接触过的,结构如下:

while/until [判断式]

do

执行语句

done

不同的是while在判断式不成立时终止循环,而until是在条件成立时终止循环。

For…do…done

这个循环不同与前两个的是循环次数是已知的,结构如下:

For变量 in 内容1 内容2 …

Do

执行语句

Done

在循环的过程中依次将内容n的值赋予变量来执行下边的语句,当然内容的表示也是可以有别的方式的,否则变量多了就难以表示,例如用(seq 1 100)表示1到100。

另一种结构方式如下:

For((初始值;限制值;执行步长))

Do

执行语句

Done

这就和我们在C和VB语句中接触的for循环结构更加相似了。

总述:

至此时我对shell script一个初步认识的总结,后期还要继续学习shell的编程,文件的编程,串口编程,进程和线程编程的相关知识和运用,和硬件慢慢结合起来做一些相关处理和操作,后边的路还很长,要学的东西也很多,期待着那一份愿景,能够用自己所学的知识去回报社会,为更多的人服务,走向社会上在有需求的地方能够力所能及的贡献自己的那一份力量是一件幸福的事,我相信未来会有一个属于我的地方来造福于他人!!

时间: 2024-08-01 22:46:31

跟鸟哥学Linux之——shell script的相关文章

跟鸟哥学Linux之——学习总结

整个下来看<鸟哥的Linux私房菜--基础篇>学习了很多的知识,从基本的Linux初步认识,到一些文件目录的认识和操作,一些基本命令的使用,最后初步认识了Linux中进程的操作和控制方法.现阶段对Linux基础的认识和学习就这些,下边是学习下来的博客总结: 1.跟鸟哥学Linux之--Linux规划!! 2.跟鸟哥学Linux之--从磁盘分区到文件系统 3.跟鸟哥学Linux之--浅谈文件权限 4.跟鸟哥学Linux之--对文件与目录操作命令汇总 5.跟鸟哥学Linux之--bash shel

跟鸟哥学Linux之——Linux规划!!

前期学习了一些关于51单片机的部分知识,只是对单片机有了一个初步的认识,和最基本的操作,做了一定的思维转向,对硬件的工作原理有了一个直观感受和体验,之下转向对了Liunx的一个入门级学习,希望可以从最基本的学起,把Linux的最基本的内容掌握牢靠,越是基础的知识越是不容易变化的量,对自己以后的长远发展来看是一件很有必要的事. 针对Linux入门级书籍<鸟哥的Linux私房菜--基础篇>,看了前几章感觉确实做到了由浅入深,从最基本的计算机工作原理开始,一点点展开.如果你也是一个Linux的入门人

跟着鸟哥学linux总结之档案权限

linux中皆为文件,鸟哥称之为档案.既然是档案,那么档案就有以下几个特性1.档案的使用者2.档案的权限3.档案的类型 1.档案的使用者档案可以被不同角色的人管理,修改,查询等.角色分为以下三种1.档案的拥有者:user2.群组:group3.其他:othersroot用户具有至高无上的权限 2.档案的权限档案可分为可读(read).可写(write).可执行x(execute)三种操作权限.档案可按不同的使用者分配不同的权限,比如user用户可具有某个档案的r.w.x 权限,而others只能

跟鸟哥学Linux之——bash shell 总结

bash是Linux内定的shell,在前边讲解的很多命令都是通过bash的环境来处理的.下边就对bash来做一个从整体到局部的认识.对于bash我大致将其分为了三部分:变量.操作环境的配置和命令的输出操作.对bash的总结做了如下思维导图: 变量 对于变量从三方面来介绍:变量的类型.变量的操作和变量的内容操作.1.对于类型有环境变量和特殊变量,有一个较为突出的是数组变量,其中学习了数组的声明.引用.下标查看和元素个数查看等等.2.对于变量的操作有查看.声明.取消和read读的操作,其中变量的声

一起来学linux:shell script(二)关于脚本

p { margin-bottom: 0.25cm; line-height: 120% } (一)首先来看shell脚本的执行方式,shell脚本的后缀名都是sh文件. 1 sh test.sh 2 source test.sh 这两种方式有什么区别呢.test.sh 里的脚本很简单, 从键盘输入名字后赋值个name变量 read -p "Please input your name:" name 执行如下 [email protected]:/home/zhf/zhf/shell_

跟鸟哥学Linux之——对文件与目录操作命令汇总

在Linux中对文件和目录的操作是一个最基本的技能,就如同我们在Windows下对翻看目录和对文件的一些基本使用方法一样的重要,如果说不会对目录和文件操作那么还谈何其他的操作呢.当然Linux中的图形化界面也是很容易操作,但是在文字化处理界面就需要使用到很多命令,下边是我对这些操作的一个汇总和整合,同时列出了一些基本常用的操作命令,当然本人列出的命令是不全面的,有其他的需要还需要请教巨人了,请看下图. 在该图中我分了四部分,分别是1.巨人.2.对文件的操作命令.3.对目录的操作命令.4.同时可以

跟鸟哥学Linux之——正则表达式和文件格式处理

思维导图: 对于正则表达式和文件格式化处理做了如下导图,对其做一个整体的概况,下边依次对其进行说明. 正则表达式 百科解释: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 目的: 1.给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配"): 2.可以通过正则表达式,从字符串中获取我们想要的特定部分. 3.可以迅速地用极简单

跟鸟哥学Linux之——从磁盘分区到文件系统

首先给大家看一下硬盘的最直接外观,如下图所示,这个想必大家也都见过了.它的结构为:盘片.机械手臂.磁头.主轴马达. 数据就写在盘片上,盘片的结构如下图: 它的内部结构,为扇区.柱面.其中在磁盘的第一个扇区是一个特殊的扇区,在其中记录两项重要信息:主引导分区(MBR),即可以安装引导加载程序的地址.分区表,整个磁盘的分区状态信息.简单来看如下图所示: 其中的数字表示表示柱面.图中P1~P4为主分区或扩展分区,我们假想整块磁盘的空间就是一个会场,那么MBR就是一个标志告诉我们会场大门在哪里,帮助我们

跟鸟哥学Linux之——浅谈文件权限

无论是在Linux下还是在Windows下想必大家都遇到过没有对文件操作权限的错误提示:因为在多用户,多任务的操作环境下,为了用户文件的保密性,文件权限的管理就很有必要了,在Linux中文件权限是如何定义和分类的,以及系统是如何管理各个文件之间权限的,我们如何更改文件的权限,下边我会做一个相应的介绍. 1.权限介绍: 文件权限顾名思义就是用户对文件操作的权限限制问题,在Linux中一个用户相对于一个文件的身份可以分为三类:user,group,others.举例来看我在一家公司的技术部工作,我写