目录
一、shell 脚本基础
1.1 什么是shell
shell本质上就是用户与计算机交互的界面/窗口。
用户将要执行的操作通过shell传递给计算机,计算机将执行的结果通过shell返回给客户端。
用户执行操作的方法
Ⅰ:用户通过鼠标点击完成发送要执行的操作指令
Ⅱ:用户直接发送命令
shell分类
图形化shell:GUI
例:winodws桌面
字符化shell:CLI
例:linux的shell窗口
1.2 linux中shell的作用
1)接受用户输入的命令
2)将用户输入的命令转换成计算机能够识别的代码,这个转换过程,称之为解释
3)将用户输入命令的执行结果显示出来
解释:简单来说就是将命令转换为01代码
解释器:可以实现将命令转换为01代码的软件,就称之为解释器
例:bash、ksh、csh、tcsh
bash解释器的位置:/bin/bash
1.3 shell编程的基本流程
1)用vim创建一个后缀为.sh的文件
注:脚本文件的后缀,即使不是.sh也是可以正常执行的。
2)在.sh文件中写入内容
第一行固定写法:
#!/bin/bash #用来指定bash解释器
第二行脚本正文内容:
以#开头的是注释行
3)给脚本进行赋权
chmod +x 脚本
4)执行脚本
./脚本
当然我们也可以跳过第三步直接执行脚本bash 脚本文件
二、shell编程基础语法
2.1 变量
定义变量:变量名=变量值
注:1)直接用等号进行定义;2)等号两侧不能出现空格;
变量名的定义规则
- 只能是数字、字母、下划线
- 不能以数字开头
- 建议变量名见名知意,例:驼峰写法
输出变量值:$变量名
2.2 数据类型
字符串类型、数值类型、布尔类型【真|假】
2.3 输入和输出
输入:read -p "提示信息" 变量名 # 提示信息:给用户看要输入什么内容 输出:echo "要输出的内容 $变量名"
2.4 判断基础
[ 判断表达式 ] # 方括号两侧要留空格,否则会报错 # 返回结果:真:0 假:1
2.4.1 比较两个数大小的符号
-gt 表示大于(>)
-ge 表示大于等于(>=)
-lt 表示小于(<)
-le 表示小于等于(<=)
-eq 表示等于(==)
-ne 表示不等于(!=)
2.4.2 比较两个字符串是否相同
== 表示字符串相同 != 表示字符串不同
2.4.3 判断文件
判断文件是否存在:
[ -a 文件名 ] 文件存在,返回真;文件不存在,返回假
[ -e 文件名 ] 文件存在,返回真;文件不存在,返回假
判断文件类型:
[ -d 文件名 ] 判断文件是否为目录,如果是目录,返回真;如果不是目录,返回假
[ -f 文件名 ] 判断文件是否为一般文件,如果是一般文件,返回真;如果不是一般文件,返回假
2.5 关于$?
特殊的内置变量
这个变量可以表示离他最近的判断条件的结果
如果结果为真,$?=0
如果结果为假,$? !=0 这个变量中保存的值是非0的
三、流控制
3.1 if条件判断
3.1.1 格式
①:单分支
if [ 判断表达式 ];then 代码块 fi
②:双分支
if [ 判断表达式 ];then 代码1 else 代码2 fi
③:多分支
if [ 判断表达式1 ];then 代码1 elif [ 判断表达式2 ];then 代码2 elif [ 判断表达式3 ];then 代码3 ..... else 代码n fi
3.1.2 组合条件判断
&& 多个条件同时成立为真
|| 多个条件中有一个满足就为真
!对条件取反,条件真则为假
3.1.3 组合条件判断的格式
[ 判断表达式 ] && [ 判断表达式 ] [ 判断表达式 ] || [ 判断表达式 ] [ !判断表达式 ]
3.2 case条件判断
格式
case 变量名 in 值1) 代码块 ;; 值2) 代码块 ;; ...... ...... *) 代码块 ;; esac
3.3 for循环
格式
for 变量 in 列表对象 do 要循环执行的语句块 done
列表对象的写法
Ⅰ:直接写出列表元素,各个元素之间用空格分隔
Ⅱ:用{start...end}写一个连续的列表元素,既可以是数字,也可以是字母
Ⅲ:用seq来生成数字列表
seq用法:
①seq stop:只有一个值,这个值是最大值
②seq start stop:指定开始值和最大值
③seq start step stop:开始值 步长 最大值
Ⅳ:用命令来生成列表
3.4 while循环
格式1
while 判断条件 do 循环语句块 done
格式2:逐行读取文件
while read line do 循环代码块 done<文件名
3.5 循环控制
break:只能用在循环中;一旦执行到break,会立即终止循环,循环后面的代码
continue:只能用在循环中;一旦执行到continue,会立刻终止当前本次循环,开始下一次循环
四、位置参数
4.1 简介
位置参数,也被称之为位置变量
通过位置参数,可以在执行程序的时候,向程序传递数据
shell接收参数的方法
向shell传递参数的方法
五、函数
5.1 函数基础
5.1.1 函数简介
函数本质上就是一个代码块,通过函数可以将一段代码定义成一个整体,然后给这个整体取名,当需要执行这段代码的时候,只需要通过这个名字就可以完成执行这段代码的过程。
5.1.2 函数作用
降低代码的冗余度
5.1.3 定义函数
函数名(){ 代码块 }
5.1.4 调用函数
函数名
5.2 函数传参
5.3 函数返回值
到此这篇linux shell脚本编写_shell脚本下载文件的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!exit:这个个作用是用于终止程序继续执行
break:终止循环
return:只能用在函数中,一旦执行到return,就会跳出函数,去执行函数后面的代码
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/shellbc/1533.html