文章目录
shell编程
为什么学习 Shell 编程?
- Linux 运维工程师在进行服务器集群管理时,需要编写 Shell 程序来进行服务器管理。
- 对于 JavaEE 和 Python 程序员来说,工作需要编写一些 Shell 脚本进行程序或者服务器的维护。
- 对于大数据程序员来说,需要编写 Shell 程序来管理集群。
概述
Shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。
Shell 脚本的执行方式
脚本格式
-
脚本开头格式
#!/bin/bash
-
脚本需要有可执行权限
chmod 744 myShell.sh
-
小技巧之多行注释
# 单行注释 # 多行注释方法 :<<! 注释内容 注释内容 注释内容 !
脚本执行
-
方式一:输入脚本的绝对路径或相对路径
1)首先要赋予 shell 脚本的可执行权限,即 +x
2)执行脚本
-
方式二:sh + 脚本(不推荐)
说明:不需要赋予脚本 +x 权限,直接执行即可
Shell 的变量
概述
-
Linux Shell 中的变量分为:系统变量和用户自定义变量。
-
系统变量
# 系统变量:$HOME、$PWD、$SHELL、$USER等等 # 输出系统变量 echo $HOME
-
显示当前 Shell 中所有变量
set
基本语法
-
定义变量
# 定义变量时,不能有空格!!! 变量=值
-
撤销变量
unset 变量
-
声明静态变量
readonly 变量 # 命令行模式下 :set nu 显示行号
静态变量不能 unset 撤销
-
把变量提升为全局环境变量,可供其他 Shell 程序使用
定义变量的规则
- 变量名称可以由字母、数字和下划线组成,但是不能以数字开头
- 等号两侧不能有空格
- 变量名称一般大写
将命令的返回值赋给变量
-
使用反引号``
# 运行反引号里面的命令,并把结果返回给变量A A=`ls -la`
-
使用符号 $,等价于反引号
A=$(ls -la)
设置环境变量
基本语法
-
将 Shell 变量输出为环境变量
# 将 Shell 变量输出为环境变量 export 变量名=变量值
-
让修改后的配置信息立即生效
# 让修改后的配置信息立即生效 source 配置文件
-
查询环境变量的值
# 查询环境变量的值 echo $变量名
快速入门
在输出环境变量 TOMCAT_HOME 前,需要使用 source 指令让其生效!
-
在 /etc/profile 文件中定义 TOMCAT_HOME 变量
-
查看环境变量 TOMCAT_HOME 的值
-
在另外一个 shell 程序中使用 TOMCAT_HOME
位置参数变量
当我们执行一个 Shell 脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量。如下所示