| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux学习日记21——shell -> 正文阅读 |
|
[系统运维]Linux学习日记21——shell |
学习视频链接 目录 一、shell概述Shell 是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核 Shell 还是一个功能相当强大的编程语言,易编写、易调试、灵活性强 二、shell解析器2.1 Linux提供的Shell解析器2.2 默认使用的解析器三、shell脚本入门3.1 脚本格式脚本以 #!/bin/bash 开头(指定解析器) 3.2 第一个shell脚本输出 helloworld 1、第一种写法 2、第二种写法 (1) 第一种执行方法 (2) 第二种执行方法 (3) 注意 第一种执行方法,本质是 bash 解析器帮你执行脚本,所以脚本本身不需要执行权限。第二种执行方法,本质是脚本需要自己执行,所以需要执行权限 3.3 第二个shell脚本1、需求 多命令处理:在 /home/huan/桌面?目录下创建一个 shelltest.txt,在 shelltest.txt 文件中增加 “I love gy" 2、脚本 四、Shell中的变量4.1 系统变量1、常用系统变量 $HOME、$PWD、$SHELL、$USER 等 2、案例实操 (1) 查看系统变量的值 >> echo $HOME /home/huan (2) 显示当前 Shell 中所有变量:set >> set BASH = /bin/bash BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() (3) 测试 4.2 自定义变量1、基本语法 (1) 定义变量:变量=值 (2) 撤销变量:unset 变量 (3) 声明静态变量:readonly 变量,注意:不能 unset 2、变量定义规则 (1) 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写 (2) 等号两侧不能有空格 (3) 在 bash 中,变量默认类型都是字符串类型,无法直接进行数值运算 (4) 变量的值如果有空格,需要使用双引号或单引号括起来 3、代码 3、可把变量提升为全局环境变量,可供其他 Shell 程序使用 4.3?特殊变量:$n1.基本语法 $n(功能描述:n 为数字,$0 代表该脚本名称,$1 - $9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如 ${10}) 2、代码 4.4 特殊变量:$#1、基本语法 $#(功能描述:获取所有输入参数个数,常用于循环) 2、代码 4.5 特殊变量:$*、$@1、基本语法 $*(功能描述:这个变量代表命令行中所有的参数,$* 把所有的参数看成一个整体) $@(功能描述:这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区分对待) 2、代码 4.6 特殊变量:$?1、基本语法 $?(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了) 2、代码 五、运算符1、基本语法 (1) “$((运算式))” 或 “$[运算式]” (2) expr +,-,\*,/,%? ? 加,减,乘,除,取余 注意:expr 运算符间要有空格 2、代码 六、条件判断1、基本语法 [condition](注意 condition 前后要有空格) 注意:条件非空即为 true,[atguigu] 返回 true,[] 返回 false 2、常用判断条件 (1) 两个整数之间比较 = 字符串比较 -lt 小于 (less than)? -le 小于等于 (less equal) -eq 等于 (equal) -gt 大于 (greater than) -ge 大于等于 (greater equal) -ne 不等于 (Not equal) (2) 按照文件权限进行判断 -r?有读的权限 (read)? ? -w 有写的权限 (write) -x 有执行的权限 (execute)? (3) 按照文件类型进行判断 -f 文件存在并且是一个常规的文件 (file) -e 文件存在 (existence) -d 文件存在并是一个目录 (directory) 3、代码 (4) 多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,||?表示上一条命令执行 七、流程控制语句7.1 if判断1、基本语法
2、注意事项 (1) [ 条件判断式 ],中括号和条件判断式之间必须有空格 (2) if 后要有空格 3、代码 7.2?case案例1、基本语法
2、注意事项 (1) case 行尾必须为单词 “in”,每一个模式匹配必须以右括号 “)” 结束 (2) 双分号 “;;” 表示命令序列结束,相当于 java 中的 break (3) 最后的 “*)” 表示默认模式,相当于 java 中的 default 3、代码 7.3 for循环1、基本语法1
2、代码 3、基本语法2
4、代码 7.4 while循环1、基本语法
2、代码 ? 八、read读取控制台输入1、基本语法 read(选项)(参数) 2、选项 -p:指定读取值时的提示符 -t:指定读取值时等待的时间(秒) 3、参数 变量:指定读取值的变量名 4、代码 7秒内,读取控制台输入的名称 ? 九、函数9.1 系统函数1、功能描述 basename 命令会删掉所有的前缀包括最后一个 ('/') 字符,然后将字符串显示出来 2、basename基本语法 basename [string / pathname] [suffix] 3、选项 suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 18:58:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |