![](https://img-blog.csdnimg.cn/8cc18c3e5a8048849f7ddda50ce64486.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
shell编程学习
文章平均质量分 60
shell编程学习
lvdapiaoliang
这个作者很懒,什么都没留下…
展开
-
3-1 for命令
这小节我们来了解一下for命令,我们知道,在编程中重复执行一系列命令是非常常见的。通常情况下需要去循环遍历某一特定的值,只到某个条件满足之后,才会终止循环。接下来我们来看一下for循环命令的介绍。简介循环遍历一系列特定值,然后在结构体中针对每个特定值做处理。语法for var in listdo commandsdone list代表我们需要再哪些特定的值中遍历,list中可以是个枚举,可以列出多个值,也可以是其他一些命令执行执行之后的结果也可...原创 2021-11-03 13:30:43 · 91 阅读 · 0 评论 -
2-10 case命令
这小节我们来说一下case命令。我们都知道在if语句中做多情况判断时,要这样写。 当某个变量有一些的特定枚举值的时候,需要针对这些枚举值做处理时,可以使用case语句。其实我们在case语句中实现的,在if语句中也能实现。case语句是另外一种实现形式。case语句的语法如下。...原创 2021-11-02 13:55:15 · 648 阅读 · 0 评论 -
2-9 if-then中使用双方括号
这小节我们来看一下在if-then中使用双方括号,首先我们来看一下双方括号的语法。这里与单方括号做了一个对比。注意事项双方括号结构中,变量名引用必须加$ [[后面必须有空格,]]前面也必须有空格。 接下来我们来演示一下。 先复制一下上小节中的脚本。cp double_bracket.sh double_square_bracket.sh#!/bin/bash#a=$1b=$2c=$3if [[ $a -gt...原创 2021-11-02 13:38:12 · 120 阅读 · 0 评论 -
2-8 if-then中使用双括号
这小节我们来看一下在if-then语句中使用双括号,其实不只是if-then语句,在我们的shell脚本中也可以直接使用双括号。我们来看一下双括号是用来干嘛的。 之前讲的condition写法是if后面跟中括号,里面写条件,例如:-d file。我们现在可以用另一种写法,比如说我们要对一些算术运算进行判断,就可以使用双括号,双括号里面可以写算数表达式。 我们接下来看有哪些运算符可以用。 ...原创 2021-10-31 17:16:30 · 375 阅读 · 0 评论 -
2-7 复合条件测试
这小节我们来看一下符合条件测试,所谓复合条件测试,我们来看一下它的语法。if-thenif condition1 && condition2then commandsfi 我们在之前给大家介绍的condition条件只有一个,那假如现在想在if后面跟多个condition,比如说我要做一些判断:既要满足condition1,又要满足condition2。这时需要condition1和condition2同时为真才能够执行then里面的...原创 2021-10-31 16:36:05 · 147 阅读 · 0 评论 -
2-6 条件测试-文件比较
接下来我们来看一下如何对文件进行比较。对于语法还是一样。我们可以直接在condition中使用。if-thenif conditionthen commandsfi-d directory -f file -eexist -nt newer than 文件1比文件2更新 -ot olde...原创 2021-10-31 16:03:34 · 118 阅读 · 0 评论 -
2-5 条件测试-字符串比较
书接上文,这节我们来看一下条件测试中对字符串的比较。在其他的高级编程语言中,我们都知道对字符串的处理是一个避不开的话题。其实在shell中我们也需要对字符串做处理。我们来看一下对字符串做比较的比较基础的用法。if-thenif conditionthen commandsfi 接下来给大家做个演示。vim condition_string.sh#!/bin/bash#var1="xiaoqiang"var2="wan...原创 2021-10-31 13:49:42 · 228 阅读 · 0 评论 -
2-4 条件测试-数值比较
接下来我们看一下条件测试中的数值比较,其实条件测试又包含了多种,比如数值比较、字符串比较、文件比较。这节先介绍一下数值比较。我们先来回顾一下,在我们的if-then或if-then-else中用的一个语法。 if-thenif conditionthen commandsfi 我们知道在if后面可以跟command或condition,condition的情况在前面没有讲,我们在前面演示if-then或if-then-else的时候都是使...原创 2021-10-31 12:01:25 · 114 阅读 · 0 评论 -
2-3 嵌套if
这节课我们来讲一下嵌套if,我们在上一节中给大奖讲了if-then-else,那种对应的情形就比较单一,因为我们只能对if这种条件作判断,只能判断一个特定的条件,如果符合的话就执行then中的语句;否则的话执行else中的语句。那假如我现在有多种情形需要判断呢?比如说我现在需要对情形1、情形2、情形3做判断,除此之外呢,都不符合情形1、情形2、情形3才会执行else。那么应该怎么写呢?其实我们的if可以写多个。语法if command | conditionthen co...原创 2021-10-31 11:00:11 · 190 阅读 · 0 评论 -
2-2 使用if-then-else语句
书接上文,我们来看一下如何使用if-then-else语句,在上一个小节中给大家讲了if-then语句,if-then语句只是适用于某一种满足条件的前提下如何对逻辑进行处理。那对于不符合条件的呢?我们都知道在其它编程语言中是有if-else的。我们的shell中也有if-then-else语句,我们来看一下它的语法。语法if command | conditionthen commandselse commandsfi 我们上一节中使用的是i...原创 2021-10-31 09:54:40 · 2063 阅读 · 0 评论 -
2-1 使用if-then语句
接下来介绍一下shell中的判断与控制。我们知道在其他的高级编程语言中会使用if这样的语句,如果它满足条件就执行对应条件内的业务逻辑、语法或函数等等。在我们的shell中也是一样的,我们可以使用if-then语句,类似于我们在高级编程语言中使用的if语句,来执行一些条件判断,对符合条件的做一些特殊处理,那不同于其他高级编程语言,我们来看一下shell中if-then的语法。语法if command | conditionthen commandsfi ...原创 2021-10-30 16:52:20 · 4087 阅读 · 0 评论 -
1-6改变退出状态码的exit命令
书接上文,我们来说一下改变退出状态码的exit命令。我们在上一个小节中给大家讲了,退出状态码通常用于脚本中在if中做判断,便于进一步的逻辑处理。对于退出状态码它有个默认的准则。退出状态码是以上一条指令的返回结果为准 也就是说上一条指令的执行状况会直接决定我们的退出状态码的值。其实我们可以使用exit命令来改变退出状态码的值。exit $exit_code 例如:exit 48 或者 exit 125 或者 exit 0 在某些场景下我...原创 2021-10-30 15:43:29 · 485 阅读 · 0 评论 -
1-5退出状态码
书接上文,我们来看一下退出状态码,退出状态码在我们的shell脚本中用的也是比较多的,我们会给大家讲一个退出状态码最常用的场景。首先我们来看一下什么是退出状态码。简介所有的shell命令都使用退出状态码来告知shell它已经执行完毕。 退出状态码是一个0~255的整数值 Linux提供了一个$?来捕获退出状态码的值 另外,它的退出状态码不同,也代表它的执行结果的不同。我们来看一下退出状态码它有多少?它可能是0~255中的一个整数值。Linux提供了一个$?来捕获退...原创 2021-10-30 15:06:47 · 1991 阅读 · 0 评论 -
1-4 管道
书接上文,我们来看一下管道,管道在Linux中用的非常多,几乎我们在编写shell脚本的过程中会不可避免的用到管道。首先我们思考一个问题。将系统上所有的软件包列出来,然后去搜索java相关的软件包。 解决方法:使用命令列出系统已有的软件包,然后把结果重定向到文件中,然后在文件中搜索java。 rpm -qa > all_soft.txt,再利用vim去搜索java。 通过上面三步也可以找到系统中的java相关的软件包。但是如果我们使用管道就可以更快捷的实现了。...原创 2021-10-30 13:04:07 · 93 阅读 · 0 评论 -
1-3环境变量
书接上文,我们来介绍一下环境变量,前两个小节我们介绍了用户自定义的变量和位置变量,本节我们介绍的是环境变量,只需要了解即可,在我们的shell脚本使用中并不是很多。首先我们来看一下什么是环境变量?定义Linux是一个多租户的操作系统,针对不同的用户都会有一个专有的运行环境。 不同用户的专有环境就是一组默认环境变量的组合。环境变量分类对所有用户生效的环境变量 /etc/profile 对特定用户生效的环境变量 ~/.bashrc或者~/.bash_...原创 2021-10-30 12:25:41 · 389 阅读 · 0 评论 -
1-2 位置变量
接下来我们来看一下位置变量,上一节讲的是用户自定义的变量,接下来我们来看的这些变量并不是用户自定义的,而是在shell中使用一些约定的规则来直接使用这些变量,我们来看一下位置变量是什么?定义 当一条命令或脚本执行时,后面可以跟很多个参数,我们使用位置参数变量来表示这些参数。 例如:sh 1.sh hello world 123 456 当我们执行1.sh这样的脚本,后面可以跟多个参数,第一个参数是hello,第二个参数是world,...原创 2021-10-30 08:40:03 · 443 阅读 · 0 评论 -
1-1 自定义变量
首先我们来讲解一下Shell编程的基础知识,首先我们来看一下变量,我们知道在任何的编程语言中变量都是最基础的使用。我们在写程序的过程中一定要使用到变量,那么这些变量可以代表某些逻辑运算后的值,我们也可以对变量做一些常规定义,比如定义为一个字符串,或者定义为某个特定值,唯一不同的是,在我们的高级编程语言比如Java或是C语言中,我们的变量是一个强类型的,这意味着当我们的变量在Java语言中定义的时候,只要我们给它赋值之后,这个变量的数据类型、格式就已经定义了,比如定义一个整数型或是字符串等等。...原创 2021-10-30 07:48:42 · 342 阅读 · 0 评论