Shell概述
1、Shell是什么
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
2、Shell的分类
Bourne Shell:从1979起Unix就开始使用BourneShell,Bourne Shell的主文件名为sh。
C Shell:C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh:C家族主要包括:csh、tcsh
Bash:Bash与sh兼容,现在使用的Linux就是使用Bsah作为用户的基本Shell。
3、Linux支持的Shell
etc\shells
Shell基础脚本执行方式
1、echo输出命令
#echo [选项][输出] 选项: -e: 支持反斜线控制的字符转换 控制字符 作用 \\ 输出\本身 \a 输出警告音 \b 退格键,也就是向左删除键 \c 取消输出行末的换行符。和“-n”选项一致 \e ESCAPE键 \f 换页符 \n 换行符 \r 回车键 \t 制表符,也就是Tab键 \v 垂直制表符 \Onnn 按照八进制ASCII码表输出字符。其中0为数字零,nnn就三围八进制数 \xhh 安装十六进制ASCII码表输出字符。其中hh是两位十六进制数
例:
#echo -e “ab\bc” #删除左侧字符 #echo -e "a\tb\tc\nd\te\tf" #制表符与换行符 #echo -e \"\x61\t\x62\t\x63\n\x64\t\x65\t\x66" @按照十六进制ASCII码也可以同样输出 #echo -e “\e[1;31m abcd \e[0m” #输出颜色 #30m=黑色,31m=红色,32m=绿色,33m=*** #34m=蓝色,35m=洋红色,36m=青色,37m=白色
2、第一个脚本
#vi hello.sh #!/bin/Bash #The first program #Author:bios (E-mail:99317069@qq.com) echo -e"Mr.wu is the most honest man in LampBeother"
3、脚本执行
赋予执行权限,直接运行
chmod 755 hello.sh ./hello.sh
通过Bash调用执行脚本
Bash hello.sh
Bashll基本功能-历史命令与补全
1、历史命令
#history [选项] [历史命令保存文件] 选项: -c:请空历史命令 -w:把缓存中的历史命令写入历史命令保存文件~/.bash_history 历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改 历史命令的调用 使用上、下箭头调用以前的历史命令 使用”!n“重复执行第n条历史命令 使用”!!“重复执行上一条命令 使用"!字串"重复执行最后一条以该字串开头的命令
2、命令与文件补全
在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按”Tab“键就会自动进行补全