ASP站长网在Linux中,当你想要做什么事情的时候,可以通过输入命令传递给计算机,但也会有很多时候,我们需要计算机/服务器完成相同的任务,如果我们再一次一次输入命令执行的话,就会非常的不方便,要想让所有的事情变得简单并且自动化,我们就可以借助shell脚本来实现,也就是说脚本语言是我们与计算机交流的一种便捷途径。
##脚本基础
1)内容:包含一些命令或声明,并符合一定格式的文本文件。
2)格式要求:首行shebang机制
#!/bin/bash
#!/usr/bin/Python
#!/usr/bin/per1
3)脚本的用途:
*自动化常用的命令
*执行系统管理和故障排除
*创建简单的应用程序
*处理文本或文件
4)创建脚本过程
*使用文本编辑器来创建文本文件
-可以添加注释,注释以#开头
*运行脚本
-给予执行权限,在命令上指定脚本的绝对或相对路径
-直接运行解释器,将脚本作为解释器程序的参数运行
##语句控制 (脚本过程编辑语言有三种过程)
1)顺序执行
*不需要特定的控制,只需要按照语句依次执行即可
2)选择执行
*需要特定的控制语句(如 if,case等)来判断执行
-选择执行还可以包括单分子、双分支、多分支结构,示例如下
1、
2、
脚本自上而下逐条件的判断,第一次判断到“假”条件时,执行分支判断,直至结束。
3)循环执行
* 将某代码段重复运行多次,重复循环的次数可以事先已知,也可以事先未知,设定进入和退出循环的条件。(包括for,while,until)
-for 循环
1、格式:
for 变量名 in 列表;do
循环体
done
2、执行机制:
依次将列表中的元素赋值给“变量名”,每次赋值后执行一次循环,直到列表中的元素耗尽,循环结束。
3、列表生成方式:
(1)直接给出列表(2)整数列表(3)返回列表的命令(4)使用glob,如:*.sh(5)变量引用
4、特殊格式:
for ((控制变量初始化;条件判断表达式;控制变量的修正表达式))
do
循环体
done
5、示例:
特殊格式示例
-while 循环
1、格式
while CONDITION;do
循环体
done
2、CONDITION:循环控制条件;进行循环之前,先做一次判断,每一次循环之后再次做判断,条件为“True”,则执行一次循环,直到条件测试状态为“false”时结束循环。
3、示例:
-until 循环
1、格式:
until CONDITION;do
循环体
done
2、CONDITION:循环控制条件;进行循环之前,先做一次判断,每一次循环之后再次做判断,为“false”,则执行一次循环,直到条件测试状态为“true”时结束循环。
3、示例:
-select 循环
1、格式
select variable in list
do
循环体
done
2、select 循环主要是用于创建菜单,按数字顺序排列的菜单项将显示标准错误上,并显示PS3提示符,等待用户输入。用户输入菜单列表中的莫个数字,执行相应的命令(用户输入被保存在内置变量REPLY中)
3、select 是个无限循环,因此要记住用break 命令退出循环,或者用exit命令结束循环,select 经常与 case 联合使用。
4、示例:
*控制语句:
-continue [N]:提前结束第N层的本轮循环,而直接进入下一轮的判断,最内层为第一层。
-break [N]:提前结束第N层循环,最内层为第一层。
-shift [N]:用于将参数列表list左移指定次数,缺省为左移一次。
##函数
函数function 是由若干条shell命令组成的语句块,实现代码重用和模块化编辑,它不是一个单独的进程,不能独立运行,而是shell程序的一部分。
1)语法 (有两部分组成,函数名和函数体),三种语法
*function f_name {
...函数体...
}
*function f_name () {
...函数体...
}
*f_name () {
...函数体...
}
2)函数的执行结果返回值:
*使用echo等命令进行输出
*函数体中调用命令的输出结果
3)函数的退出状态码:
*默认取决于函数执行的最后一条命令的退出状态码
*自定义退出状态码,格式为:
-return 从函数中返回,用最后状态命令决定返回值
-return 0 无错误返回。
-returu 1-255 有错误返回
4)使用函数方法:
函数在使用前必须定义,因此应将函数定义放在脚本开始部分,直至shell首次发现它后才能使用,调用函数仅使用函数名即可。
大型站长资讯类网站! https://www.0792zz.cn