随笔分类 - shell
摘要:1.组命令 2.子进程 2.1 什么是子进程 2.2 创建子进程 2.3 子进程总结 3.如何检测子shell与子进程 1.组命令 组命令,就是将多个命令划分为一组,或者看成一个整体。 用法 区别 Shell 组命令的写法有两种: { command1; command2;. . .; }(comm
阅读全文
摘要:Here Document 的用法 Here Document可以将它理解为“嵌入文档”“内嵌文档”“立即文档”,它将命令需要处理的数据或者字符串与代码放在一起,适用于命令需要处理的数据量很小,不必要将其单独放在一个文件中的情况。 总的来说,在脚本中嵌入一小段多行数据时,使用Here Documen
阅读全文
摘要:代码块是由多条语句组成的一个整体,for、while、until循环或者if…else、case…in选择结构,或者由{ }包围起来的命令都可以称为代码块。 将重定向命令放在代码块的结尾处,就可以对代码块中的所有命令实施重定向。 举栗 举栗 结果 使用 while 循环不断读取 nums.txt 中
阅读全文
摘要:使用 while、until、for、select 循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用 break 或者 continue 关键字。 在C语言、Python、Java 等大部分编程语言中,break 和 continue 只能跳出当前层次的循环,内层循环中的 b
阅读全文
摘要:除了 while 循环和 until 循环,Shell 脚本中还有for 循环,for 循环有两种使用形式:C语言风格的for循环与Python语言风格的for in循环,两种形式的for循环用法对比如下: for循环用法实例1实例2 C语言风格 for((exp1; exp2; exp3))do
阅读全文
摘要:1.shell函数的定义与调用 2.shell函数参数 3.函数返回值 1.shell函数的定义与调用 Shell 函数定义 说明 函数定义的简化写法 函数调用 function name() { statements [return value]} function是 Shell 中的关键字,专门
阅读全文
摘要:while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环。 unti 循环和 while 循环恰好相反,当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环,until 的使用场景很少,一般使用 while
阅读全文
摘要:Shell也支持两种分支结构(选择结构),分别是 if else 语句和 case in 语句。当分支较多,并且判断条件比较简单时,使用 case in 语句就比较方便了。 if else 语句与case in语句的对比 脚本 易错点与知识点 if else语句 #!/bin/bash read -
阅读全文
摘要:0.[[]] [] (())的对比 1.[[]]支持正则表达式 0.[[]] [] (())的对比 [[ ]] 对数字的比较不友好,所以使用 if 判断条件时,建议用(())来处理整型数字,用[[]]来处理字符串或者文件。 用法 说明 脚本 支持逻辑运算符 (()) ((expression)) 不
阅读全文
摘要:0.test命令的用法 1.与数值比较相关的test选项 2.与字符串判断相关的 test 选项 3.与文件检测相关的test选项 4.与逻辑运算相关的test选项 5.注意点与总结 1.test中变量用双引号包围起来 2.总结 test 是 Shell 内置命令,用来检测某个条件是否成立。test
阅读全文
摘要:退出状态和逻辑运算符的组合 Shell 逻辑运算符 举栗 命令的退出状态(exit statu)是指执行完Linux命令或shell函数后,该命令或函数返回给调用它的程序的一个比较小的整数值。if 语句的判断条件,从本质上讲,判断的就是命令的退出状态。 按照惯例来说,退出状态为 0 表示“成功”;也
阅读全文
摘要:if 语句的判断条件,从本质上讲,判断的就是命令的退出状态。 语句语句格式同一行书写注意点用例1用例2 if 语句 if conditionthen statement(s)fi if condition; then statement(s); fi 注意分号,否则会有语法问题 1.conditio
阅读全文
摘要:shell中数学运算的易错点: 1.在 Bash Shell 中,如果不特别指明,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。即使是将整数和小数赋值给变量,它们也会被视为字符串。 2.Shell 不能直接进行算数运算,必须使用数学计算命令!!默认情况下,Sh
阅读全文
摘要:declare 和 typeset 都是 Shell 内建命令,它们的用法相同,都用来设置变量的属性。不过 typeset 已经被弃用了,建议使用 declare 代替。declare 命令的用法如下所示:declare [+/-] [aAfFgilprtux] [变量名=变量值] 其中,-表示设置
阅读全文
摘要:echo 用法 echo 用来在终端输出字符串,并在最后默认加上换行符。 echo 加上-n参数可以使数据字符串后不再换行 echo 加上-e参数可以解析转义字符 举栗 输出 echo #!/bin/bash echo 'aaaaaaa' echo 'bbbbbbb' echo ccccccc aa
阅读全文
摘要:1.read的用法 read从 STDIN 读取一行数据并将其赋给一个变量,如果没有进行重定向,默认就是从键盘读取用户输入的数据;如果进行了重定向,那么可以从文件中读取数据。 read 命令的用法为: read [-options] [variables] variables表示用来存储数据的变量,
阅读全文
摘要:知识点1:什么是shell内建命令? Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件。 内建命令与普通命令的性质是不一样的,内建命令并不是某个外部文件,只要在shell中就一定可以运行这个命令。 知识点2:怎么确定一个命令是否是内建命令? 使用type可以区
阅读全文
摘要:0.理解数组 (1)shell不限制数组的大小,数组元素的下标从0开始计数 (2)获取数组中的元素要使用下标[ ],下标可以是一个整数,也可以是一个结果为整数的表达式,但是下标必须大于等于0 (3)bash shell只支持一维数组,不支持多维数组(可以看看关联数组) 1.数组的定义 在 Shell
阅读全文
摘要:1.位置参数 2.其他特殊变量 2.1 用法举栗 2.2 $* 和 $@ 的区别 2.3 $?的用法 1.位置参数 运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用$n的形式来接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推。在调用函数时也可以传递
阅读全文
摘要:Shell 命令替换是指将命令的输出结果赋值给某个变量。比如,将使用ls命令查看到的某个目录中的内容保存到某个变量中,这就需要使用命令替换。 Shell 中有两种方式可以完成命令替换,一种是反引号` `,一种是$(),使用方法如下: variable=`commands` variable=$(co
阅读全文