什么是shell?
shell是用C语言进行编写,在Linux内是用户和系统的桥梁。
下面主要针对最常见的shell中的 Bash shell的基本编译进行说明。
一、shell最简单的脚本
运行该脚本
二、shell中的变量
注: ‘=’两边无空格!
其中单引号中的内容会原样输出,内部不能使用变量,也不能使用转义字符,不能出现单引号。
双引号可以使用变量,能够出现单引号 (能否使用转义字符还要根据用户各自使用的版本来定)
运行该脚本
扩充:1、对变量长度的计算
注: 与C不同,shell中没有\0,有几个字母长度就是几
以上题为例,运行该脚本输出 4
2、输出字符串
注: ‘1’表示第几位,shell中和C一样,字符串第一个字符代表是第0位,然后是第1位、第2位......
‘3’表示输出从第1位后的3个字符即 ell
3、计算字符串中某个字符出现的位置
注: ‘e’在字符串str2中出现的位置为2,这个2并不代表‘e’所在的位数,而是安字符排在第几就是第几位
‘el’如果是两个字符的话,则‘e’‘l’谁先出现则就查出谁的位置
把以上都写在同一个脚本中
运行该脚本
三、数组变量
数组的三种表示形式
运行该脚本
注: ${#array1[@]} 代表计算数组长度,其中 @ 还可以用 * 替代
四、shell脚本中的运算符
1、算数运算符:包括‘+’‘-’‘*’‘/’‘%’
运行该脚本
注: 其中‘*’前需加转义符号‘\’
2、关系运算符
C shell
== -eq 或 ==
!= -ne
> -gt
< -lt
>= -ge
<= -le
在这里还需要介绍一下shell中if的使用格式
运行该脚本
if中嵌套if的格式
运行该脚本
注: if中的格式一定要严格,空格的位置要注意,else if 在shell 中为 elif ,结尾要加 fi
判断字符串是否相等用 =
判断字符串长度是否为0用 -z
判断字符串长度是否不为0用 -n
3、逻辑运算符 包括‘&&’‘||’
例如:
if [[ $a -gt $b || $a -eq $b ]] 或 if [ $a -gt $b ] || [ $a -eq $b ]
注: 短路与表示‘&&’运算符左边的关系式为假,则不再进行右边的运算
短路或表示‘||’运算符左边的关系式为真,则不再进行右边的运算
五、shell中的for、while循环的用法
比较简单主要是格式的问题,放在一起给大家展示
运行该脚本
注: 主要注意一下在shell中用 do done 来代替C中的{ }
这就是对shell的基本介绍,以后还会对shell进行进一步的说明。