一、Shell概述
1、什么是shell?
由此可见shell是用户与系统进行交互的接口,通过执行各种命令来完成时间处理与调度。
2、shell分类
Shell类别 易学性 可移植性 编辑性 快捷性
Bourne Shell (sh) 容易 好 较差 较差
Korn Shell (ksh) 较难 较好 好 较好
Bourne Again (Bash) 难 较好 好 好
POSIX Shell (psh) 较难 好 好 较好
C Shell (csh) 较难 差 较好 较好
TC Shell (tcsh) 难 差 好 好
Shell 的两种主要语法类型有 Bourne 和 C,这两种语法彼此不兼容。
Bourne 家族主要包括 sh、 ksh、Bash、psh、zsh。
C 家族主要包括:csh、tcsh (Bash 和 zsh 在不同程度上支持 csh 的语法)。
我们可以通过/etc/shells 文件来查询 Linux 支持的 Shell。
[root@centos ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
二、echo命令及shell脚本执行
1、echo 输出特殊转义字符
echo [选项] [输出内容] 选项:
-e: 支持反斜线控制的字符转换
\\\\ 输出\\本身
\\a 输出警告音
\\b 退格键,也就是向左删除键
\\c 取消输出行末的换行符
\\e ESCAPE 键
\\f 换页符
\\n 换行符
\\r 回车键
\\t 制表符,也就是 Tab 键
\\v 垂直制表符
\\0nnn 按照八进制 ASCII 码表输出字符。其中 0 为数字零,nnn 是三位八进制数
\\xhh 按照十六进制 ASCII 码表输出字符。其中 hh 是两位十六进制数
-n: 取消输出后行末的换行符号(就是内容输出后不换行)
示例
[root@centos ~]# echo -e "heihei \\nhaha \\a" #先输出heihei,换行之后再输出一个 haha 最后输出警示音
heihei
haha
2、echo输出颜色
30m=黑色,31m=红色, 32m=绿色,33m=黄色,34m=蓝色,35m=洋红,36m=青色,37m=白色
1)字体颜色
echo -e "\\e[1;32m 绿色字体 \\e[0m"
2)背景颜色
echo -e "\\e[1;42m 绿色背景 \\e[0m"
3)闪烁
echo -e "\\e[1;5m \\e[1;32m 绿色闪烁字体 \\e[0m \\e[0m "
3、执行shell脚本
执行shell脚本有两种方式,下面是一个简单的shell脚本:
#!/bin/bash #直接执行时,告诉系统应该用哪一个解释器来执行。
echo -e "\\e[1;5m \\e[1;32m 你好!! \\e[0m "\\e[0m
- 第一种执行方式,直接执行
添加执行权限,使用相对或者绝对路径来执行
[root@centos ~]# chmod a+x test.sh
[root@centos ~]# . test.sh
你好!
[root@centos ~]# /root/test.sh
你好!
- 使用解释器 + 脚本 方式执行,不需要添加执行权限。
[root@centos ~]# bash test.sh
你好!