shell
文章平均质量分 81
shell脚本学习
MasterHu88
不忘初心,方得始终。
Stay hungry Stay foolish !
展开
-
shell 10:流程控制——if、for、while、case
1 if1.1 ifif conditionthen command1 command2 ... commandNfi或者使用分号,写成一行,可以在终端执行:if [ condition ]; then command1; fi1.2 if else语法格式:if conditionthen command1 command2 ... commandNelse command...原创 2021-04-05 14:15:58 · 278 阅读 · 0 评论 -
shell 9 :管道与过滤器
1 管道我们已经知道了怎样从文件重定向输入,以及重定向输出到文件。Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了管道(pipe)。Linux 管道使用竖线|连接多个命令,这被称为管道符。Linux 管道的具体语法格式如下:command1 | command2command1 | command2 [ | commandN... ]当在两个命令之间设置管道时,管道符|左边命令的原创 2021-04-05 11:53:10 · 751 阅读 · 0 评论 -
shell 8:test使用
test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。1 数值-eq 等于则为真-ne 不等于则为真-gt 大于则为真-ge 大于等于则为真-lt 小于则为真-le 小于等于则为真2 字符串= 等于则为真!= 不相等则为真-z 字符串 字符串的长度为零则为真-n 字符串 字符串的长度不为零则为真3 文件-e 文件名 如果文件存在则为真-r 文件名 如果文...原创 2021-04-05 11:47:30 · 116 阅读 · 0 评论 -
shell 7:运算——算术、关系、布尔、逻辑、字符串、文件运算
Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符、关系运算符、布尔运算符、字符串运算符、文件测试运算符。原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如使用awk 和 expr,expr 最常用,同时,如果有添加bc命令,将算数运算作为参数传给bc实现。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。1 算术运算符假设a=2000,b=21+ 加法 `expr $a + $b` 结果为 2020。- 减法...原创 2021-04-05 11:40:50 · 225 阅读 · 0 评论 -
shell 6:函数与传参
1 函数linux shell 用户可以定义函数,并在在shell脚本中随便调用。1.1 函数定义shell中函数的定义格式如下:[ function ] funname [()]{ action; [return int;]}说明:1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)...原创 2021-04-05 11:02:50 · 5462 阅读 · 1 评论 -
shell 5 :declare、typeset与let
1 declare与typesetdeclare 和 typeset 都是 Shell 内置命令,它们的用法相同,都用来设置变量的属性。不过 typeset 已经被弃用了,建议使用 declare 代替。declare 命令的用法如下所示:declare [+/-] [aAfFgilprtux] [变量名=变量值]其中,-表示设置属性,+表示取消属性,aAfFgilprtux都是具体的选项,它们的含义如下所示:-f [name] 列出之前由用户在脚本中定义的函数名称和函数体。...原创 2021-04-04 21:12:16 · 449 阅读 · 0 评论 -
shell 4:echo、printf、重定向、exit
1 echoecho指令可以输出内容到标准输出,以空白分割字符串,并在后面增加换行。-n #输出字符串不换行-e #处理特殊字符转义-E #禁用转义echo输出的字符串: 能否引用变量| 能否引用转移符 |能否引用文本格式符(如:换行符、制表符)单引号 | 否 | 否 | 否双引号 | 能...原创 2021-04-04 19:35:31 · 1224 阅读 · 0 评论 -
shell 3:设置与别名
1 setset命令用于设置shell。set指令能设置所使用shell的执行方式,可依照不同的需求来做设置。使用语法如下:set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]-a 标示已修改的变量,以供输出至环境变量。-b 使被中止的后台程序立刻回报执行状态。-C 转向所产生的文件无法覆盖已存在的文件。-d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。-e 若指令传回值不等原创 2021-04-04 19:12:08 · 447 阅读 · 0 评论 -
shell 2:变量(variable)
1 变量定义定义变量时,变量名不加美元符号($,PHP语言中变量需要),而引用变量时候需要添加$符号。注:1、变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:2、命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。3、中间不能有空格,可以使用下划线(_)。4、不能使用标点符号。5、不能使用bash里的关键字(可用help命令查看保留关键字)。6、 定义变量修饰词:readonly定义只读变量,unset删除变量。原创 2021-04-04 18:51:51 · 469 阅读 · 0 评论 -
shell 1:shell简介
1 shell特点1.1 shell是什么Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。1.2 shell和内核关系Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,它和其他应用程序如QQ等一样,然而 Shell 也有着它的特殊性,就原创 2021-04-04 17:42:40 · 697 阅读 · 0 评论 -
ubuntu下执行for循环非预期结果:显示变量是变量的范围
1 问题描述新建简单for循环如下:执行脚本结果:这和期望的输出显示1到10不符。2 原因分析ubuntu为了加快开机速度,用dash代替了传统的bash,而dash并不支持类C风格的for循环,于是提示出现错误。3 解决方法取消dash替代bash,执行如下命令sudo dpkg-reconfigure dash然后方向键→到“<NO>”按下“Enter”即可。然后执行脚本就会得到预期的结果。...原创 2020-06-14 07:47:38 · 412 阅读 · 0 评论