一 概述
1 Shell是一个命令行解释器,它为用户提供了一个向内核发送请求以便运行程序的界面系统级程序
Shell还是一个功能强大的编程语言,易编写,易调试,灵活性较强,Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令
2 Shell的分类
Bourne Shell:从1979年起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh
C Shell :主要在BSD版的Unix系统中使用,其语法和C语言相似而得名
Shell的两种主要语法类型有Bourne 和C ,这两种语法彼此不兼容,Bourne家族主要包括sh,ksh,Bash,psh,zsh,C家族主要包括csh,tcsh
Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell
Linux支持的Shell我们可以通过查看/etc/shells文件进行查看
我们也可以直接切换shell,比如切换成sh
再切回来
二 脚本执行方式
echo 输出命令
echo 选项 输出内容
-e 支持反斜杠控制的字符转换
我们来看几个例子
\b代表删除左侧字符
\t是制表符,也就是Tab键
\n是换行符
\xhh 按照十六进制ASCII码表输出字符,其中hh是两位十六进制数
输出颜色
好了,下面来写我们的第一个shell脚本
注意第一行不是注释,代表我接下来写的是shell脚本
然后我们执行
有两种方式,一种是先给该文件赋予执行权限
chmod 755 hello.sh
然后再执行./hello.sh
另外一种直接bash hello.sh
三 Bash的基本功能
1 历史命令与命令补全
history 这个命令可以查看用户敲的历史命令,注意,这里只是缓存
-w 把缓存中的历史命令写入历史命令保存文件~/.bash_history
-c 会清楚历史记录
历史命令默认会是1000条,可以在/etc/profile中进行修改
历史命令的调用
使用上,下箭头调用以前的历史命令
使用!n执行第n条历史命令
使用!!执行上一条历史命令
使用!字符串,执行最后一条以该字符串开头的命令
在Bash中,命令与文件补全是非常方便与常用的功能,我们只需要在输入命令或文件时,按TAB键就会自动补全,如果遇到多个文件匹配,按两次TAB键,所有匹配的就都会显示出来