shell脚本特点
1. 适合对服务器管理
2. 不适合做大量数值运算的任务
3.
第一行 #!/bin/bash
shell脚本运行方式
sh/bash 文件名
创建子进程运行:程序运行完后程序中的变量失效./文件名
先将文件变成可执行文件,如:chmod 711 sh01.sh
创建子进程运行:程序运行完后程序中的变量失效source 文件名
当前(父)进程运行:程序运行完后程序中的变量有效
shell脚本运行过程
- 命令执行自上而下、自左向右;
- 命令、参数间多个空白、空白行被忽略;
- 程序中读到一个Enter符号(CR),就尝试开始执行该行命令;
- 一行内容太多,可使用”[Enter]”来扩展至下行;
shell变量
本地变量:
变量名=变量值s1=hello
s2="hello world"
若等号两边有空格,则必须使用引号括起来
环境变量:
export 变量名=变量值export s1=hello
预定义变量:
预定义变量是系统自带的变量,系统启动后即存在
常见预定义变量
变量的设置规则:
- 变量与变量值以等号“=”来连接
- 等号两边不能直接接空格
- 变量名称只能是英文字母、下划线与数字,但数字不能是开头字符
- 若有空格,可以使用双引号或单引号将变量内容括起来
变量的引用:
引用变量时则应在变量名前加一个美元符号$
s1=hello
s3=$s1
变量的显示:echo
命令
- echo $变量名
- echo ${变量名}
- echo “$变量名”
变量的读入:read
命令
read [-pt] 变量名
-p:后面可以接提示信息
-t:后面可接等待的秒数,为了防止一直等待用户输入。
变量的释放:unset
命令
unset s1
查看系统环境变量:env
常见环境变量 echo $PATH
将路径/usr/hadoop/bin加入到命令搜索路径PATH变量中
PATH=$PATH:/usr/hadoop/bin 或 vi .bashrc 在末尾加入 PATH=$PATH:/usr/hadoop/bin