一、shell环境概述

1. Shell的作用及常见分类
 Shell的作用 —— 命令解释器,“翻译官”介于操作系统内核与用户之间,负责解释命令行(类似于win下的cmd
2. Shell环境的切换
1)   . 临时切换:直接执行其他Shell程序,例如ksh、zsh等
2).    更改用户登录Shell
 需修改 /etc/passwd 文件中用户记录的最后一个字段
 或执行:usermod -s Shell程序路径  用户名
3. Bash的常用功能
Tab键自动补齐  命令编辑快捷键   命令历史  命令别名 
 标准输入输出   重定向操作     管道操作
4. Bash的命令历史
1)      命令历史
*       保存用户曾经执行过的命令操作
*       存放位置:~/.bash_history 文件
2)      查看历史命令 history
3)      调用历史命令
*       !n:执行历史记录中的第n条命令
*       !str:执行历史记录中以“str”开头的命令
4)      设置记录历史命令的条数 /etc/profile
*       修改 HISTSIZE 参数(默认为1000条)
5. Bash的标准输入输出
  交互式硬件设备
*       标准输入:从该设备接收用户输入的数据
*       标准输出:通过该设备向用户输出数据
*       标准错误:通过该设备报告执行出错信息
6. Bash的重定向操作
改变标准输入、标准输出、标准错误的方向
7. Bash的管道操作
管道操作符号“|”
连接左右两个命令,将左侧的命令输出的结果,作为右侧命令的输入(处理对象)
格式:cmd1 | cmd2 [... | cmdn]
二. Shell变量的应用
  1. Shell变量的种类
*       用户自定义变量:由用户自己定义、修改和使用
*       环境变量:由系统维护,用于设置用户的Shell工作环境,只有极少数的变量用户可以修改
*       预定义变量:Bash预定义的特殊变量,不能直接修改
*       位置变量:通过命令行给程序传递执行参数
  1. 变量的赋值与引用
1)定义新的变量
*       变量名要以英文字母或下划线开头,区分大小写
*       格式:变量名=变量值
2)查看变量的值
*       格式:echo $变量名
3)从键盘输入内容为变量赋值
*        格式: read [-p "信息"] 变量名
4)结合不同的引号为变量赋值
*       双引号 “ ” :允许通过$符号引用其他变量值
*       单引号 ‘ ’ :禁止引用其他变量值,$视为普通字符
*       反撇号 ` ` :将命令执行的结果输出给变量
5)设置变量的作用范围
*       格式:export   变量名...
              export 变量
6)数值变量的运算
计算整数表达式的运算结果
*       格式:expr 变量1   运算符  变量2 ...[运算符 变量n]
expr的常用运算符
*       加法运算:+
*       减法运算: -
*       乘法运算: \*
*       除法运算: /
*       求模(取余)运算: %
  1. 环境变量
1) 环境变量配置文件
*       全局配置文件:/etc/profile
*       用户配置文件:~/.bash_profile
2) 查看环境变量
*       set命令可以查看所有的Shell变量,其中包括环境变量
常见的环境变量:path变量,类似于windows的path
三.Shell脚本的概念
1.       Shell脚本
a)         用途:完成特定的、较复杂的系统管理任务
b)         格式:集中保存多条Linux命令,普通文本文件
c)         执行方式:按照预设的顺序依次解释执行
2.       运行Shell脚本程序
1) 直接执行具有“x”权限的脚本文件
*        例如:./repboot.sh
2) 使用指定的解释器程序执行脚本内容
*        例如:bash repboot.sh、sh repboot.sh
3) 通过source命令(或 . )读取脚本内容执行
*        例如:souce repboot.sh 或 .   hello.sh