ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell脚本

2022-03-20 14:58:22  阅读:175  来源: 互联网

标签:脚本 shell expr 运算符 Shell bash


1、什么是shell

Shell(外壳)是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

2、什么是脚本?

脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑)。常见的脚本:JavaScript(JS,前端),VBScript,ASP,JSP,PHP(后端),SQL(数据库操作语言),Perl,Shell,python,Ruby,JavaFX,Lua等。

3、为什么要学习和使用shell

Shell属于内置的脚本

程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)语法简单,代码写起来比较轻松,简单易学

4、常见的shell种类?

在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash(重点),流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。

csh

C shell使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。

ksh

Korn shell的语法与Bourne shell相同,同时具备了C shell的易用特点。许多安装脚本都使用ksh,ksh有42条内部命令,与bash相比有一定的限制性。

tcsh

tcsh是csh的增强版,与C shell完全兼容。

sh

是一个快捷方式,已经被/bin/bash所取代

shell入门

代码规范:

        #!/bin/bash        [指定告知系统当前这个脚本要使用的shell解释器]

        Shell相关指令

文件命名规范:

        文件名.sh        .sh是linux下bashshell的默认后缀

使用流程:

①创建.sh文件        touch/vim

②编写shell代码

③执行shell脚本        脚本必须得有执行权限

输出命令:#echo123

shell进阶(重点)

变量

a.什么是量

量就是数据.

b.什么是变量

数据可以发生改变就是变量.

在一个脚本周期内,其值可以发生改变的量就是变量.

c.什么叫做一个脚本周期

一个脚本周期我们可以简单的理解为当前的shell文件

变量是shell中不可或缺的一部分,也是最基础、最重要的组成部分

变量的定义与使用(重点)

变量名的规范

注意,变量名后面的等号左右不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

中间不能有空格,可以使用下划线“_”。

不能使用标点符号。

不能使用bash里的关键字(可用help命令查看保留关键字)

只读变量(了解)

语法:readonly变量名

接收用户输入(重点)

语法:read-p提示信息变量名

删除变量(了解)

语法:unset变量名path

条件判断语句

语法1(一个条件):

ifcondition

then

        command1

        command2

...

fi单行写法(一般在命令行中执行的时候):if [condition] ;then command;fi

运算符

在shell中,运算符和其他编程脚本语言一样,常见的有算数运算符、关系运算符、逻辑运算符、字符串运算符、文件测试运算符等

算数运算符

运算符说明举例

+

加法`expr$a+$b`结果为30。
-减法`expr$a-$b`结果为-10。
*乘法`expr$a\*$b`结果为200。
/除法`expr$b/$a`结果为2。
%取余`expr$b%$a`结果为0。
=赋值a=$b将把变量b的值赋给a。

==
相等用于比较两个数字,相同则返回true(真)。[$a==$b]返回false(假)
!=不相等
用于比较两个数字,不相同则返回true。[$a!=$b]返回true

        

        原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如awk和expr,expr最常用。

expr是一款表达式计算工具,使用它能完成表达式的求值操作。

例如,两个数相加(注意使用的是反引号`而不是单引号'):

        #!/bin/bash

        val=`expr2+2`

        echo"两数之和为:$val"

        两点注意:

                表达式和运算符之间要有空格,例如2+2是不对的,必须写成2+2,这与我们熟悉的大多数编程语言不一样。

完整的表达式要被``包含,注意这个字符不是常用的单引号,在Esc键下边。

关系运算符

 -eq:equal

 -ne:not equal

 -gt:great than

 -lt:less than

 -ge:great than or equal

 -le:less than or equal

逻辑运算符

 

或运算:一个为真即为真,全部为假才是假

与运算:一个为假即为假,全部为真才是真

字符串运算符

文件测试运算符(重点) 

 

 

标签:脚本,shell,expr,运算符,Shell,bash
来源: https://blog.csdn.net/Baldy_qiang/article/details/123612576

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有