Shell 编程变量
为什么要学习 Shell 编程
- Linux 运维工程师在进行服务器集群管理时,需要编写 Shell 程序来进行服务器管理。
- 对于 JavaEE 和 Python 程序员来说,工作的需要,你的老大会要求你编写一些 Shell 脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。
- 对于大数据程序员来说,需要编写 Shell 程序来管理集群
Shell 是什么
Shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。
Shell 脚本的执行方式
脚本格式要求:
- 脚本以#!/bin/bash 开头
- 脚本需要有可执行权限
需求说明:创建一个 Shell 脚本,输出 hello world!
vim hello.sh
#!/bin/bash
echo “hello,world~”
脚本的常用执行方式:
- 方式 1(输入脚本的绝对路径或相对路径)
说明:首先要赋予 helloworld.sh 脚本的+x 权限, 再执行脚本
比如 ./hello.sh 或者使用绝对路径 /root/shcode/hello.sh - 方式 2(sh+脚本)
说明:不用赋予脚本+x 权限,直接执行即可。
比如 sh hello.sh , 也可以使用绝对路径
Shell 的变量
Shell 变量介绍:
- Linux Shell 中的变量分为,系统变量和用户自定义变量。
- 系统变量:$HOME、$PWD、$SHELL、$USER 等等,比如: echo $HOME 等等…
- 显示当前 shell 中所有变量:set
shell 变量的定义:
-
定义变量:变量名=值
-
撤销变量:unset 变量名
-
声明静态变量:readonly 变量,注意:不能 unset
-
案例 1:定义变量 A
输出变量需要加上$
-
案例 2:撤销变量 A
-
案例 3:声明静态的变量 B=2,不能 unset
shell 变量名的定义:
- 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。5A=200(×)
- 等号两侧不能有空格
- 变量名称一般习惯为大写, 这是一个规范,我们遵守即可。
将命令的返回值赋给变量:
- A=`date`反引号,运行里面的命令,并把结果返回给变量 A
- A=$(date) 等价于反引号