在前面的一个文章中,已经带大家进行shell的一个基础的认识,Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。shell它也是一种编程,如何有学习shell脚本?这是我们学习Linux系统必须要思考的一个问题。刚入门shell的朋或者不知道该怎么去学起,本文将带大家进行shell脚本的简单入门。
首先需要了解的是一些变量
("")双引号:用于标记多个特殊符号,但是对$,\\,`,!符号例外
('')单引号:作用同上,但是可以标记""所不能的特殊符号
(``)反引号[!前的那个符号,不是单引号]一般用来执行命令
(\\)反斜杠:转义符号,用于标记单个特殊符号.
下面是一些简单的shell程序:
编程中的一些字符:
空格(space):解析命令行参数
(*)(?)({and}):产生文件名列表
(.):代表当前目录
($):对变量求值
(>)(<):重定向标准输入或输出
(&):执行后台命令
(|):管道输出
一般的命令:
echo显示变量及字符
read是从用户处接受输入
<<输入重定向
来看看一些脚本相关的命令:
$0Linux命令名
$n命令行参数
$*由号码1开始的所有的命令行参数
$@分别访问命令行参数
$#命令参数的个数
简单的一些运算:
exprort是可以将局部变量导出为该shell中的全局变量
+,-,*,/,>,<,>=,<=,=(用于字符串的比较),==(用于数字的比较),!=,&(与),|(或),!(非).(看到下图中的一个运算)
test比较运算,在比较运算中,正确结果的返回值是0,而不是传统程序上的1
-gt一个数是否大于另一个数
-lt小于
-ge大于等于
-le小于等于
-eq等于(用于数值)
-ne不等于
-z是否为空字符串
-n字符串是否大于0
=字符串是否相等
!=是否不等
str是否非空
-a与
-o或
!非
-f是否为普通文件
-s文件是否为空
-r文件是否可读
-w文件是否可写
-x文件是否可执行
-d是否为目录
-h是否为符号链接
-c是否与字符设备相关联
-b是否与块文件相关联
下面是一个小小脚本来试一试
通过本文你会看到shell脚本它的语法并不是特别的复杂,熟悉使用shell脚本是深入学习Linux的基础之一,最重要的是学好基本的框架流程,然后是在日后的shell编写中更加好理解。
上一篇:linux系统shell基础
¥5999.00
¥10500.00
¥49.00
¥499.00
¥1888.00