shell脚本特点

1. 适合对服务器管理
2. 不适合做大量数值运算的任务
3.

第一行 #!/bin/bash

shell脚本运行方式

  1. sh/bash 文件名
    创建子进程运行:程序运行完后程序中的变量失效

  2. ./文件名
    先将文件变成可执行文件,如:chmod 711 sh01.sh
    创建子进程运行:程序运行完后程序中的变量失效

  3. source 文件名
    当前(父)进程运行:程序运行完后程序中的变量有效


shell脚本运行过程

  1. 命令执行自上而下、自左向右;
  2. 命令、参数间多个空白、空白行被忽略;
  3. 程序中读到一个Enter符号(CR),就尝试开始执行该行命令;
  4. 一行内容太多,可使用”[Enter]”来扩展至下行;

shell变量

本地变量:

变量名=变量值
s1=hello
s2="hello world"
若等号两边有空格,则必须使用引号括起来

环境变量:

export 变量名=变量值
export s1=hello

预定义变量:

预定义变量是系统自带的变量,系统启动后即存在
常见预定义变量
图片说明

变量的设置规则:

  1. 变量与变量值以等号“=”来连接
  2. 等号两边不能直接接空格
  3. 变量名称只能是英文字母、下划线与数字,但数字不能是开头字符
  4. 若有空格,可以使用双引号或单引号将变量内容括起来

变量的引用:

引用变量时则应在变量名前加一个美元符号$

s1=hello
s3=$s1

变量的显示:echo命令

  1. echo $变量名
  2. echo ${变量名}
  3. 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