关于shellll脚本的基本编译

来源:互联网 发布:java的编程思想是什么 编辑:程序博客网 时间:2024/06/11 01:23

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






   

0 0