关于shellll脚本的基本编译

本文介绍了Bash Shell的基础知识,包括最简单的脚本编写、变量使用、字符串操作、数组变量以及运算符。详细讲解了关系运算符、逻辑运算符,并展示了for和while循环的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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






   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值