1、基础知识
1.1、简介
在计算机科学中,Shell就是一个命令解释器。 shell是位于操作系统和应用程序之间,是他们二者最主要的接口,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。
一句话,shell就是在操作系统和应用程序之间的一个命令翻译工具。
1.2、shell、系统、程序关系图

1.3、Shell分类
1.3.1、图形界面shell
1.3.2、命令行式shell
windows系统:cmd.exe 命令提示字符 linux系统:sh / csh / ksh / bash / ...
1.4、Shell发展历史图

我们常说的shell是命令行式的shell,在工作中常用的是linux系统下的bash。
1.5、Shell使用方式
1.5.1、手工方式
作用:手工敲击键盘,在shell的命令行输入命令,按Enter后,执行通过键盘输入的命令,然后shell返回并显示命令执行的结果.
特点:逐行输入命令、逐行进行确认执行
1.5.2、脚本方式
作用:就是说我们把手工执行的命令如:ifconfig,写到一个脚本文件net-info.sh中,然后通过执行脚本 net-info.sh,达到执行命令a的效果. 当可执行的Linux命令或语句不在命令行状态下执行,而是通过一个文件执行时,我们称文件为shell脚本。
特点:执行文件达到批量执行命令的效果
2、实战
2.1、查看当前系统的shell类型
2.2、查看当前系统环境支持的shell
# cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
2.3、更改用户默认的shell
2.4、Hello World 的Shell示例
cat << 'CAT_END' > hello.sh
#!/bin/bash
echo "Hello World Shell"
CAT_END
# 指定解释器运行
# bash hello.sh
Hello World Shell
# 使用默认的解释器运行
# ./hello.sh
Hello World Shell