| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Shell 编程 -> 正文阅读 |
|
[系统运维]Shell 编程 |
目录 (2)expr? + , - , \* , / , %? ?加? 减? 乘? 除? ?取余? (5)多条件判断(&&?表示前一条命令执行成功,才执行后一条命令,||? 表示上一条命令执行失败,才执行下一条命令) (4)案例实操2? 一般和? $*? ?和 $@? 在一起使用 一、两种执行方式1、sh hello.sh本质是bash 解析器帮你执行脚本,所以脚本本身不需要执行权限 2、./hello.sh本质是 脚本需要自己执行,所以需要执行权限 二、一个简单的shell脚本1、需求在root家目录下的shell目录下的test目录下 创建 test1.txt 文件,并输入内容 aaaa 2、编辑shell脚本如下
>? ? 是覆盖 >>? ?是追加 三、shell中的特殊变量1、 $n(1) 基本语法n 为数字 ,$0 代表该脚本的名称,$1 - $9 代表第一到第九个参数,十以上的参数,需要用大括号包含,比如 ${10} (2)一个简单的输入参数小例子脚本内容如下:
执行如下:
2、 $#(1)基本语法获取所有输入参数的个数,常用于循环 (2)一个简单的例子脚本内容
执行结果
3、 $*? ?和 $@(1)基本语法$*? ?(这个变量代表命令行中所有的参数,把所有参数看做一个整体) $@ (这个变量也代表命令行中所有的参数,但是他把每个参数区分对待) 4、 $?(1)基本语法最后一次执行命令的返回状态。若为0代表上一个命令执行正确,否则代表上一个命令执行的不正确。 (2)小例子
四、运算符1、基本语法(1)$((运算式子))? ?或者? $[运算式](2)expr? + , - , \* , / , %? ?加? 减? 乘? 除? ?取余?注意? expr? 运算符之间要有空格 ? 2、案例(1)简单的四则运算
(2)复杂一点的乘法(3+2)*4
(3)常用的 $[运算式]? 解决 (3+2)*4
五、条件判断1、基本语法[ condition ]? ?(注意? condition为条件 ,其前后都有空格) 注意:条件非空即为true。 2、常用条件判断(1)两个整数之间的比较
(2)文件权限判断
(3)文件类型判断
(4)简单小例子
(5)多条件判断(&&?表示前一条命令执行成功,才执行后一条命令,||? 表示上一条命令执行失败,才执行下一条命令)六、流程控制1、if判断(1)基本语法
(2)案例实操需求:输入一个数字,如果是1,则输出?TRUE!,如果是2.则输出? FALSE!,如果是其它,则什么也不输出。 shell脚本如下:
执行如下:
2、case?判断(1)基本语法
(2)?案例实操需求:输入一个数字,如果是1,输出?TRUE,如果是2,输出FALSE,如果是其它,输出WIN shell脚本如下:
脚本执行如下
3、for?循环(1)基本语法1
(2)案例实操1需求:从 1?加到 100 shell?脚本如下:
执行结果如下
(3)基本语法2
(4)案例实操2? 一般和? $*? ?和 $@? 在一起使用需求:打印所有输入参数 shell?脚本如下
执行情况如下
4、while?循环(1)基本语法
(2)案例实操1需求?从1加到100 shell?脚本如下
执行结果如下
七、read?读取控制台输入1、基本语法
2、案例实操(1)提示 7?秒内读取控制台输入的名称?shell?编程如下
执行结果如下
八、函数1、系统函数(1)basename截取一个文件绝对路径中,最后的文件名,如下:
(2)dirname截取一个文件绝对路径中,去除文件名的路径,如下:
2、自定义函数(1)基本语法
(2)? 一个例子需求? 控制台上输入两个值,函数接受?并对他们求和输出 shell脚本如下
执行结果如下
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 17:59:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |