shell编程
1.为什么要学习shell
1)linux运维工程师在进行服务器集群管理时,需要编写shell程序来进行服务器管理。
2)对于JavaEE和Python程序员来说,工作的需要,编写一些shell脚本进行程序或者是服务器的维护,比如写一个定时备份数据库的脚本。
3)对于大数据程序员来说,需要编写Shell程序来管理集群。
2.Shell是什么
示意图:
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求,以便运行程序的界面系统及程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
3.shell编程快速入门-Shell脚本的执行方式
1.脚本格式要求
1)脚本以#!/bin/bash开头
2)脚本文件需要有执行权限
2.编写第一个shell脚本
需求说明:创建一个shell脚本,输出"Hello,World!"
3.脚本的常用执行方式
方式1:输入脚本的绝对路径或者相对路径
方式2:(sh+脚本),不推荐使用
说明:不用赋予X权限,直接执行即可
4.Shell的变量
1.shell变量的介绍
1)Linux shell中的变量分为,系统变量和用户自定义变量。
2)系统变量如:
H
O
M
E
、
HOME、
HOME、PWD、
S
H
E
L
L
、
SHELL、
SHELL、USER等等
比如:echo $HOME等等
3)显示当前shell中所有的变量set
2.shell变量的定义
基本语法:
1)定义变量: 变量=值
2)撤销变量:unset 变量
3)声明静态变量:readonly 变量,注意不能unset
快速入门:
案例1:定义变量A
案例2:撤销变量A
案例3:声明静态的变量B=2,不能unset
案例4:可把变量提升为全局环境变量,可供其他shell程序使用【后面介绍】
3.定义变量的规则
1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
2)等号两侧不能有空格
3)变量名称一般习惯大写
4.将命令的返回值赋值给变量【重点】
1)A='ls -la’反引号,运行里面的命令,并把结果返回给变量A
2)A=$(ls -al) 等价于反引号
5.设置环境变量
5.1基本语法:
1)export 变量名=变量值(功能描述:将shell变量输出为环境变量)
2)source 配置文件(功能描述:让修改后的配置信息立即生效)
3)echo $变量名 (功能名:查询环境变量的值)
5.2快速入门:
1)在/etc/profile 文件中定义TOMCAT_HOME环境变量
2)查看环境变量TOMCAT_HOME的值
3)在Shell程序中使用TOMCAT_HOME
注意点:在输出TOMCAT_HOME环境变量前,需要让其生效
source /etc/profile
6位置参数变量
6.1介绍
当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量,比如:./myshell.sh 100 200,这个就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息
6.2基本语法
6.3位置参数变量应用实例
案例:编写一个shell脚本positionPara.sh ,在脚本中获取到命令行的各个参数信息
7.预定义变量
1.基本介绍
就是shell设计者事先已经定义好的变量,可以直接在shell中使用
2.基本语法
3.应用实例
在一个shell脚本中简单使用一下预定义变量