9.1 概述
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写、易调试、灵活性强。Shell是解释执行的脚本语言,在Shell中可以调用Linux系统命令。
9.2 Shell脚本的执行方式
2)脚本格式
(1)脚本以#!/bin/bash开头
(2)脚本必须有可执行权限
3)第一个Shell脚本
(1)需求:创建一个Shell脚本,输出helloworld
(2)实操:
[atguigu@hadoop101 datas]$ touch helloworld.sh [atguigu@hadoop101 datas]$ vi helloworld.sh
在helloworld.sh中输入如下内容 #!/bin/bash echo "helloworld" |
4)脚本的常用执行方式
第一种:输入脚本的绝对路径或相对路径
(1)首先要赋予helloworld.sh 脚本的+x权限
[atguigu@hadoop101 datas]$ chmod 777 helloworld.sh
(2)执行脚本
/root/helloWorld.sh
./helloWorld.sh
第二种:bash或sh+脚本(不用赋予脚本+x权限)
sh /root/helloWorld.sh
sh helloWorld.sh
9.3 Shell中的变量
1)Linux Shell中的变量分为,系统变量和用户自定义变量。
2)系统变量:$HOME、$PWD、$SHELL、$USER等等
3)显示当前shell中所有变量:set
9.3.1 定义变量
1)基本语法:
(1)定义变量:变量=值
(2)撤销变量:unset 变量
(3)声明静态变量:readonly变量,注意:不能unset
2)变量定义规则0
(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
(2)等号两侧不能有空格
(3)变量名称一般习惯为大写
3)案例实操
(1)定义变量A
A=8
(2)撤销变量A
unset A
(3)声明静态的变量B=2,不能unset
readonly B=2
(4)可把变量提升为全局环境变量,可供其他shell程序使用
export 变量名
9.3.2 将命令的返回值赋给变量
1)A=`ls -la` 反引号,运行里面的命令,并把结果返回给变量A
2)A=$(ls -la) 等价于反引号
9.3.3 设置环境变量
1)基本语法:
(1)export 变量名=变量值 (功能描述:将shell变量输出为环境变量)
(2)source 配置文件 (功能描述:让修改后的配置信息立即生效)
(3)echo $变量名 (功能描述:查询环境变量的值)
2)案例实操:
(1)在/etc/profile文件中定义JAVA_