Shell 简介
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shel编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支、控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
Shell 的分类
Linux中shell有多种类型,其中最常用的几种是Bourne shell系列和C shell系列
Bourne shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。
Linux操作系统默认的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。
Shell类型 易学性 可移至性 编辑性 快捷性Bourne shell(sh) 容易 好 较差 较差Bourne Again shell(bash) 难 较好 好 好C shell(csh) 较难 差 较好 较好TC shell(tcsh) 难 差 好 好
查询Linux中支持的shell类型:
[root@localhost ~]# cat /etc/shells/bin/sh/bin/bash/usr/bin/sh/usr/bin/bash
Shell脚本的执行方式
echo 命令
echo [选项] [输出内容]-e 支持反斜线控制的字符转换-n 取消输出后行尾的换行符号
-e选项 支持的特殊符号列表
特别记住两个 :\\ n:换行符 \\t :制表符
[root@localhost ~]# echo -e \"a\\tb\\tc\\nd\\te\\tf\"a b cd e f
echo 显示颜色
格式:“\\e[m”代表颜色输入开始;“\\e[m” 代表颜色输入结束!文字颜色:30=黑色,31=红色,32=绿色,33=黄色,34=蓝色,35=紫色,36=天蓝,37=白色,39=结束底纹颜色:40=黑色,41=红色,42=绿色,43=黄色,44=蓝色,45=紫色,46=天蓝,47=白色,49=结束特殊的显示:\\e[0m 关闭所有属性\\e[1m 设置高亮度\\e[4m 下划线\\e[5m 闪烁\\e[7m 反显\\e[8m 消隐注意:多个条件之间用分号(;)分割开,同时生效
创建一个合格的shell脚本
创建shell脚本文件,一般以.sh作为脚本后缀(好识别),也可不写。
[root@localhost ~]# ./hello.sh#!/bin/bash#This is my first piece of codeecho \"We will print hello world of 7 colors.\"echo -e \"\\e[30;1mhello world\\e[0m\"echo -e \"\\e[31;1mhello world\\e[0m\"echo -e \"\\e[32;1mhello world\\e[0m\"echo -e \"\\e[33;1mhello world\\e[0m\"echo -e \"\\e[34;1mhello world\\e[0m\"echo -e \"\\e[35;1mhello world\\e[0m\"echo -e \"\\e[36;1mhello world\\e[0m\"
执行shell脚本
shell 脚本作为一种脚本程序文件,该如何运行?
方法一:添加x 执行权限(相对或绝对路径执行)
[root@localhost ~]# chmod +x hello.sh #给文件执行权限
方法二:用bash命令,调用脚本文件
不用给权限直接执行