甘肃省住房和城乡建设厅注册中心网站首页wordpress怎么流量赚钱
文章目录
- 前言
 - 一、Shell是什么
 - 二、Shell脚本的执行方式
 - 脚本的常用执行方式
 
- 三、Shell的变量
 - Shell变量介绍
 - shell变量的定义
 
- 四、设置环境变量
 - 基本语法
 - 快速入门
 
- 五、位置参数变量
 - 介绍
 - ●基本语法
 - ●位置参数变量
 
- 六、预定义变量
 - 基本介绍
 - 基本语法
 
- 七、运算符
 - 基本介绍
 - 基本语法
 
前言
为什么要学习Shell编程
 1.Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。
 2对于JavaE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shell脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。
 3.对于大数据程序员来说,需要编写Shell程序来管理集群。
一、Shell是什么
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

二、Shell脚本的执行方式
脚本格式要求
 1.脚本以#!/bin/bash开头
 2.脚本需要有可执行权限
 ●编写第一个Shell脚本
 需求说明:创建一个Shell脚本,输出hello world!
#!/bin/bash
echo "hello,word" 
chmod u+x shcode.sh  添加可执行权限
 
脚本的常用执行方式
方式1(输入脚本的绝对路径或相对路径)
 说明:首先要赋予helloworld.sh脚本的+x权限,再执行脚本
 方式2(sh+脚本)
 说明:不用赋予脚本+x权限,直接执行即可。
三、Shell的变量
Shell变量介绍
- Linux Shell中的变量分为,系统变量和用户自定义变量。
 - 系统变量:
$HOME、$PWD、$SHELL、$USER等等,比如:echo $HOME等等. - 显示当前shell中所有变量:set
 
shell变量的定义
基本语法
 1.定义变量:变量=值
 2撤销变量:unset变量
 3.声明静态变量:readonly变量,注意:不能unset
 快速入门
 #!/ bin/ bash
 #案例1:定义变量AA=100
 #输出变量需要加上$
echo A=$A
echo "A=$A"
 
#案例2:撤销变量A
unset A
echo "A=$A"
 
#案例3:声明静态的变量B=2,不能unset
readonly B=2
echo "B=$B"
unset B 添加这句,会提示出错
 
定义变量的规则
 1.变量名称可以由字母、数字和下划线组成,但是不能以数字开头。5A=200(×)
 2.等号两侧不能有空格
 3.变量名称一般习惯为大写,这是一个规范,我们遵守即可
 将命令的返回值赋给变量
 1.A=date反引号,运行里面的命令,并把结果返回给变量A
 2. A=$(date)等价于反引号
四、设置环境变量
基本语法
export 变量名=变量值(功能描述:将shell变量输出为环境变量/全局变量)source 配置文件(功能描述:让修改后的配置信息立即生效)echo $变量名(功能描述:查询环境变量的值)
快速入门
1.在/etc/profile文件中定义TOMCAT_HOME环境变量
export TOMCAT_HOME=/opt/tomcat
 

2.查看环境变量TOMCAT_HOME的值
source /opt/tomcat
echo $TOMCAT_HOME
 
3.在另外一个shell程序中使用TOMCAT_HOME
echo "tomcat=$TOMCAT HOME"
 
注意:在输出TOMCAT_HOME 环境变量前,需要让其生效source /etc/profile
附Shell脚本的多行注释
 :<<! 内容!
 

五、位置参数变量
介绍
当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量
 比如:./myshell.sh 100 200,这个就是一个执行shell的命令行,可以在myshell 脚本中获取到参数信息
●基本语法
List item
$n(功能描述:n为数字,$0代表命令本身,$1- $9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})
$*(功能描述:这个变量代表命令行中所有的参数,$* 把所有的参数看成一个整体)
$ @(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$#(功能描述:这个变量代表命令行中所有参数的个数)
●位置参数变量
案例:编写一个shell脚本position.sh,在脚本中获取到命令行的各个参数信息。
echo "0=$0 1=$1 2=$2"
echo "所有的参数=$*"
echo "$@"
echo "参数的个数=$#"
 

六、预定义变量
基本介绍
就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用
基本语法
$$(功能描述:当前进程的进程号(PID) )
 $!(功能描述:后台运行的最后一个进程的进程号(PID) )
 $ ?(功能描述∶最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)
 应用实例
 在一个shell脚本中简单使用一下预定义变量preVar.sh
#!/bin/bash
echo "当前执行的进程id=$$"
#以后台方式运行一个脚本,获取他的进程号
/root/shcode.sh &
echo "最后一个后台方式运行的进程id=$!"
echo "执行的结果是=$?" 

七、运算符
基本介绍
学习如何在shell中进行各种算操作。
基本语法
1.“$((运算式))”或“$[运算式]”或者expr m +n
 2.注意expr运算符间要有空格
 3. expr m - n
 4.expr *.1.% 乘,除,取余
 应用实例
 案例1:计算(2+3)X4的值
#!/bin/bash
RES=$(((2+3)*4))
echo "res=$RES"
 
#使用第二种方式,推荐使用
RES2=$[(2+3)*4]
echo " res2=$RES2"
#使用第三种方式expr 
TEMP=` expr 2 +.3`
RES4=`expr $TEMP \* 4`
echo "temp=$TEMP"
echo "res4=$RES4"
 
#案例2:请求出命令行的两个参数[整数]的和20 50
SUM=$[$1+$2]
echo "sum=$SUM"
