关于shellll脚本的基本编译

xiaoxiao2021-02-28  157

什么是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进行进一步的说明。

   

转载请注明原文地址: https://www.6miu.com/read-60606.html

最新回复(0)