![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell
leoxry
天道酬勤,拼搏一个最好的自己送给未来的自己,每天开开心心敲代码就是一种幸福,不计得失,回归刚开始学习时内心的单纯
展开
-
Shell - 简介
1. 概述Shell是一个用C语言编写的程序,它被称为用户使用linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 脚本(shell script),是一种为shell编写的脚本程序。2. 运行方式a、可执行权限运行:chmod a+x /home/shell/first.sh #使脚本具有执行权限/home/shell/first.sh #执行脚...原创 2019-08-31 21:29:42 · 236 阅读 · 0 评论 -
Shell - 测试
任何语编程都有对应的调试工具,如java有Debug、mysql有调试工具、js有调试工具等,shell也不例外shell的语法检测:相当于java的编译1. shell语法检测:sh -n ./test.sh (sh是/bin/sh 是系统提供的可执行脚本)2. shell的普通调试:sh -x ./test.sh如test.sh的内容如下:#!/bin/ba...原创 2019-09-01 10:22:31 · 356 阅读 · 0 评论 -
Shell - 文件引入
和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。Shell 文件包含的语法格式如下:. filename # 注意点号(.)和文件名中间有一空格或source filename案例:vi /home/shell/1.sh#!/bin/bashname=‘123’vi /home/shell/2.sh. ...原创 2019-09-01 10:12:01 · 381 阅读 · 0 评论 -
Shell - 函数
shell中函数的定义格式如下:[ function ] funname (){ action; [return int;]}注:1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)作为一个返...原创 2019-09-01 09:06:48 · 190 阅读 · 0 评论 -
Shell - for、while、until、case
循环-forFor i in 1 2 3;do echo $i;donefor var in item1 item2 ... itemNdo command1 command2 ... commandNdone案例1:for loop in 1 2 3 4 5do echo "The value is: $loop"done案例2...原创 2019-09-01 09:00:04 · 154 阅读 · 0 评论 -
Shell - if
七、条件控制if支持嵌套写成一行就得这么写:if [ ] ; then echo “” ;fi单一的if:(表达式必须有空格)if []thencmd1fi单一的if else :(表达式必须有空格,else后不能有then)If []thencmd1elsecmd2fiif else-if else :(elif后必须有then)if condi...原创 2019-09-01 08:49:18 · 203 阅读 · 0 评论 -
Shell - 基本运算符 - 文件测试运算符
文件测试运算符用于检测 Unix 文件的各种属性。属性检测描述如下:操作符 说明 举例-b file 检测文件是否是块设备文件,如果是,则返回 true。 [ -b $file ] 返回 false。-c file 检测文件是否是字符设备文件,如果是,则返回 true。 [ -c $file ] 返回 false。-d file 检测文件是否是目录,如果是,则返回 true。 [ ...原创 2019-09-01 08:46:30 · 273 阅读 · 0 评论 -
Shell - 基本运算符 - 字符串运算符
下表列出了常用的字符串运算符,假定变量 a 为 “abc”,变量 b 为 “efg”:运算符 说明 举例= 检测两个字符串是否相等,相等返回 true。 [ $a = $b ] 返回 false。!= 检测两个字符串是否相等,不相等返回 true。 [ $a != $b ] 返回 true。-z 检测字符串长度是否为0,为0返回 true。 [ -z $a ] 返回 false。-n ...原创 2019-09-01 08:44:05 · 429 阅读 · 0 评论 -
Shell - 基本运算符 - 逻辑运算符
以下介绍 Shell 的逻辑运算符,假定变量 a 为 10,变量 b 为 20:运算符 说明 举例&& 逻辑的 AND [[ $a -lt 100 && $b -gt 100 ]] 返回 false|| 逻辑的 OR [[ $a -lt 100 || $b -gt 100 ]] 返回 true注意:[] 与[[ ]] 的区别:[[ ]] 中逻辑组合可以使...原创 2019-09-01 08:42:30 · 674 阅读 · 0 评论 -
Shell - 基本运算符 - 布尔运算符
下表列出了常用的布尔运算符,假定变量 a 为 10,变量 b 为 20:运算符 说明 举例! 非运算,表达式为 true 则返回 false,否则返回 true。 [ ! false ] 返回 true。-o 或运算,有一个表达式为 true 则返回 true。 [ $a -lt 20 -o $b -gt 100 ] 返回 true。-a 与运算,两个表达式都为 true 才返回 tru...原创 2019-09-01 08:40:00 · 491 阅读 · 0 评论 -
Shell - 基本运算符 - 关系运算符
关系运算符只支持数字,不支持字符串,除非字符串的值是数字。下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:运算符 说明 举例< > <= >=-eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。-ne 检测两个数是否相等,不相等返回 true。 [ $a -ne $b ] 返回 true。...原创 2019-09-01 08:38:07 · 433 阅读 · 0 评论 -
Shell - 基本运算符 - 算术运算符
一、算术运算符下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20:运算符 说明 举例+ 加法 `expr $a + $b` 结果为 30。- 减法 `expr $a - $b` 结果为 10。* 乘法 `expr $a \* $b` 结果为 200。/ 除法 `expr $b / $a` 结果为 2。% 取余 `expr $b % $a` 结果为 0。= ...原创 2019-08-31 21:53:48 · 426 阅读 · 0 评论 -
Shell - 基本运算符
Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。Expr$((1+2))expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):#!...原创 2019-08-31 21:48:42 · 239 阅读 · 0 评论 -
Shell - 注释
以"#"开头的行就是注释,会被解释器忽略。(除第一行的解释器以外)sh里没有多行注释,只能每一行加一个#号。注:如果在开发过程中,遇到大段的代码需要临时注释起来,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。...原创 2019-08-31 21:46:00 · 396 阅读 · 0 评论 -
Shell - 数组
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似于C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。1. 定义数组在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:数组名=(值1 值2 … 值n)例如:array_name=(value0 value1 valu...原创 2019-08-31 21:45:01 · 175 阅读 · 0 评论 -
Shell - 字符串
(1)单引号str='this is a string'注意:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号(对单引号使用转义符后也不行)。(2)双引号class='1234A'str="this is \"$class\"! \n"双引号的优点:双引号里可以有变量双引号里可以出现转义字符(3)拼接字符串your_nam...原创 2019-08-31 21:41:52 · 239 阅读 · 0 评论 -
Shell - 变量
1. 变量定义定义变量时,变量名不加美元符号($)如:name=“1234A”注意事项:(1)变量名和等号之间不能有空格(2)变量名的命名遵循如下规则:首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字,set查找出来也不用)。2. 变量的赋值:(1)显式地直接赋值...原创 2019-08-31 21:35:47 · 229 阅读 · 0 评论 -
Shell - 常用命令
l 列出当前行上下各5行,总共10行q|quit 退出h 帮助/for/ 向后搜索字符串for?for? 向前搜索字符串forx 1+2 计算算术表达式的值!! ls -laRt 执行shell命令n 执行下一条语句s 4 ...原创 2019-09-02 19:44:13 · 188 阅读 · 0 评论