随笔分类 -  Shell笔记

Shell学习笔记
摘要:对于字符串变量的使用,需要加上 $ 进行引用,特别是在 [[ ]] 中作为条件判断时没有使用 $ 的话,无法进行正确的判断。 1 判断两个字符串是否相同 在 [[ ]] 使用 = 、 == 、 != 判断两个字符串是否相等,如果不确定变量的数据类型,但是想要将其转换为字符串再进行比较,可以在变量外边 阅读全文
posted @ 2024-01-21 11:29 山上下了雪-bky 阅读(14) 评论(0) 推荐(0) 编辑
摘要:[ ] 和 [[ ]] 这两者最常用的用法就是用作条件判断,用作条件判断时, 推荐使用双中括号 [[ ]] 的方式 。需要特别注意,使用时符号边界处和操作符两边都必须要要有空格,如 [[ a > b ]] 。这里列出一些使用它们时的不同之处(了解之后就知道为什么推荐使用 [[ ]] 了): 符号性质 阅读全文
posted @ 2024-01-21 11:24 山上下了雪-bky 阅读(303) 评论(0) 推荐(0) 编辑
摘要:括号( ) 单括号 (...) 常用的用法有两种,一种是用于shell中的数组,一种是获取命令执行后的结果。 1. 数组: 括号 ( ) 最直观的使用当然是数组,因为shell中数组的定义就是 array_name=(value1 value2 ...) ,这里只列一些基础的使用示例: #!/bin 阅读全文
posted @ 2024-01-21 11:23 山上下了雪-bky 阅读(51) 评论(0) 推荐(0) 编辑
摘要:语法如下: # 单if语句 if condition then command ... fi # if...else...语句 if condition then command ... else command ... fi # if...elif...else...语句 if condition 阅读全文
posted @ 2024-01-21 11:20 山上下了雪-bky 阅读(19) 评论(0) 推荐(0) 编辑
摘要:语法如下: [function] func_name() { ... [return int] } function关键字: 定义一个函数,function关键字是可选的。 语句结束符: 函数中每个语句以换行符作为结束,不用使用分号,一行一句即可,分号通常只是用于连接两个语句。 return关键字: 阅读全文
posted @ 2024-01-21 11:18 山上下了雪-bky 阅读(8) 评论(0) 推荐(0) 编辑
摘要:语法: 为 my_var="hello" ,此处定义了一个值为字符串的变量,需要特别注意的是,等号=两边不能有空格。变量的命名只能使用英文字母,数字和下划线,且首个字符不能以数字开头。变量定义之后也可以在其他地方使用同样的语法给它重新赋值,但是注意,不可以使用 $my_var="hi" 这种语法,加 阅读全文
posted @ 2024-01-21 11:15 山上下了雪-bky 阅读(11) 评论(0) 推荐(0) 编辑
摘要:文件的第一行通常为 #!/bin/bash 或 #!/bin/sh , #! 用于指定这个脚本文件使用什么解释器来运行,如果在文件第一行指定了解释器,那么直接执行该脚本时就会自动使用文件第一行的解释器来运行该脚本。例如文件test.sh的第一行是 #!/bin/bash ,那么在输入 ./test. 阅读全文
posted @ 2022-12-27 01:26 山上下了雪-bky 阅读(555) 评论(0) 推荐(0) 编辑
摘要:一、for循环 语法一 for 变量 in 值1 值2 值3... do 程序 done 注:多个值之间只要“有空”,不只是空格,换行符、制表符等都行,比如读取文件时,可以自动遍历每一行。 示例1:遍历固定的某些项 #!/bin/bash for time in morning noon after 阅读全文
posted @ 2020-04-20 01:03 山上下了雪-bky 阅读(369) 评论(0) 推荐(0) 编辑
摘要:一、if语句 单分支if语句 语法(中括号首尾的空格不能省略): if [ 条件判断式 ];then 程序 fi #或者 if [ 条件判断式 ] then 程序 fi 示例: #!/bin/bash #根分区的使用率如果达到80则发出警告,向屏幕输出一条提示信息。 rate=$(df -h | g 阅读全文
posted @ 2020-04-20 00:44 山上下了雪-bky 阅读(891) 评论(0) 推荐(0) 编辑
摘要:Shell中if等语句的条件判断通常就是判断一些测试选项的结果是否为真。 常用的文件类型测试选项(Linux中目录、设备等都是用文件进行表示) -d 文件:判断该文件是否存在,并且是否为目录文件。 -e 文件:判断该文件是否存在。 -f 文件:判断该文件是否存在,并且是否为普通文件。 -L 文件:判 阅读全文
posted @ 2020-04-20 00:21 山上下了雪-bky 阅读(358) 评论(0) 推荐(0) 编辑
摘要:本文讲的字符串提取指的是从文件或某个输出中提取符合条件的列的内容,如果某个文件或输出中它的每一行的信息都是使用特定的分隔符来分割的话,就可以使用字符串的提取功能,本文涉及到的命令包括cut、printf、awk、sed等。 cut命令cut [选项] 文件名:在文件中提取符合条件的列。选项: -f 阅读全文
posted @ 2020-04-20 00:05 山上下了雪-bky 阅读(1270) 评论(0) 推荐(0) 编辑
摘要:通配符是用于匹配符合条件的文件名(完全匹配),但是正则表达式是用来匹配文件中符合条件的字符串(包含匹配)。 基础的正则表达式 *:前一个字符匹配0次或任意多次。 .:匹配除了换行符之外的任意一个字符。 ^:匹配行首。 $:匹配行尾。 []:匹配方括号中指定的任意一个字符(只匹配一个字符),里面可以使 阅读全文
posted @ 2020-04-19 23:37 山上下了雪-bky 阅读(221) 评论(0) 推荐(0) 编辑
摘要:通常说到变量,可能就是指的用户自定义的变量,但是Shell中变量的概念除了用户自定义变量,还包括环境变量、系统预定义变量、位置参数变量、数值变量等。 用户自定义变量注意用户自定义变量只在当前的shell终端中生效。自定义变量:变量名称可以使用字母、数字和下划线组成,但是不能以数字开头。变量类型:Ba 阅读全文
posted @ 2020-04-19 23:28 山上下了雪-bky 阅读(322) 评论(0) 推荐(0) 编辑
摘要:Shell概述一方面,Shell相当于一个命令解释器,将Linux命令解释为二进制机器码,或者反过来,将二进制机器码解释为Linux命令。其实我们启动Linux后命令交互界面就是系统给用户提供的一个Shell解释器的界面。另一方面,Shell也是一种解释执行的脚本编程语言,并且在Shell中可以直接 阅读全文
posted @ 2020-04-19 21:20 山上下了雪-bky 阅读(424) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示