系统运输
shell脚本概述
shell脚本概念:
将要执行的命令按顺序保存到文本文件中
将可执行权限授予此文件,即可执行
您可以组合各种shell控制语句以执行更复杂的操作
shell脚本应用场景:
重复操作
批量事务处理
运输自动化
监视服务的运行状况
执行定时任务
……
壳牌的作用——指令解释器,“翻译官”
它介于系统内核和用户之间,负责解释命令行
用户的登录外壳程序
登录后默认使用的shell程序通常是/bin/bash
根据shell的内部命令,执行环境等也不同
创建第一个shell脚本
编写脚本代码
使用vim文本编辑器
每行一个Linux命令,按执行顺序依次记述
[root@localhost? ( #? vim? first.sh? 编辑第一个脚本
#! /bin/bash? 壳牌声明
#first? test? 注释
光盘? /boot/命令行
pwd
洛杉矶? -lh? vml*
赋予可执行的权限
使脚本具有可执行属性
chmod? x? first.sh给出执行属性
运行脚本文件
需要执行权限才能执行,但位置不会更改
./first.sh?
不需要执行权限,但更改位置
. first.sh?
source first.sh?
即使不需要执行权限,位置也不会改变
sh first.sh?
更高级的脚本配置
脚本声明
注释信息
可执行语句
#! /bin/bash
#first? 测试
光盘? /boot/
echo? 当前目录:
pwd
echo? 其中,以vml开头的文件如下:
洛杉矶? -lh? vml*
重定向和管道操作
交互式硬件设备
标准输入:从该设备接收用户输入的数据
标准输出:通过此设备向用户输出数据
标准错误:从此设备报告执行错误消息
类型文件描述号默认设备标准输入/dev/stdin0
键盘
标准输出/dev/stdout1显示器标准错误输出/dev/stderr2显示器
重定向操作
类型操作符用途重定向输入从指定文件读取数据,而不是从键盘输入重定向输出。 将输出结果保存到指定文件,并复盖原始内容。 将输出结果添加到指定文件
错误输出2指定错误信息温家安(复盖原来的内容) 2将错误信息追加混合到指定文件中输出的标准输出,将标准错误的内容保存到同一文件中
管道操作符号“|”
将左侧命令输出结果作为右侧命令的输出对象
壳变量的作用、类型
变量的作用
提供特定参数以灵活管理Linux系统有两个含义
变量名:使用固定名称,由系统预设或用户定义
变量值:可以根据用户的设定、系统环境的变化而变化
变量类型
自定义变量:由用户定义、修改和使用
环境变量:包含用于设定工作环境的系统维护
位置变量:从命令行向脚本程序传递参数
预定义变量:是Bash中内置的一种变量,不能直接更改
自定义变量
定义新变量
变量名以字母或下划线开头,区分大小写,建议全部大写
变量名=变量值
显示变量值
echo? $变量名
赋值时使用引号
双引号: $符号可以引用其他变量的值
单引号:不能引用其他变量的值。 $被视为普通字符
撇号:替换指令,提取执行指令后的输出结果
通过键盘输入为变量赋值
里德? [-p? 提示? 变量名
设定变量的适用范围
格式1 :导出? 变量名.
格式2 :输出? 变量名=变量值.
——种格式可以混合使用
整数变量的运算
expr? 变量1? 运算符? 变量2? [运算符? 变量3] .
常用运算符
加法:
减法: -
乘法\\\\*
除法/
求模(取余)运算: %
小脚本示例:输入两个数字,求出它们的和
#! /bin/bash
#输入两个整数,求出他们的和
#输入第一个数字
里德? -p? 请输入整数? num1
#输入第二个个数
里德? -p? 请输入整数? num2
进行#加法运算
sum=`expr? $num1? $num2'
表示两个数之和
echo? 两个数字之和为$sum
特殊的外壳变量
环境变量
为设置用户首选项而预创建的系统
配置文件:/etc/profile,~/.bash_profile
一般环境变量
PWD,PATH
用户,壳牌,HOME
位置变量
表示$n,n是1到9之间的数字
#! /bin/bash
echo? 合计是` expr? $1? 美元2 `
预定义变量
$# :命令行中的位置变量数
$* :所有位置变量的内容
$?在执行上一个命令后返回的状态下,如果返回状态的值为0,则表示执行正常,非零值表示执行异常或错误
$0:当前正在运行的进程/程序编号
#! /bin/bash
echo? 合计是` expr? $1? 美元2 `
echo? 脚本名称: $0
echo? 命令行变量: $#
echo? 所有位置变量的内容: $*
详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn