1:shell是什么?
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统程序,用户可以用Shell来启动,挂起,停止甚至是编写一些程序。
这个黑框就相当于一个shell
shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux命令。
2:shell的分类
Bourne Shell:从1979起Unix就开始使用,Bourne Shell的主文件名为sh
C Shell : C Shell主要在BSD版的Unix系统中使用,其语法和c语言相类似而得名。
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh,ksh,Bash,psh,zsh; C家族主要包括:csh,tcsh;
linux中说的shell一般指的是Bash;Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。
3:linux支持的shell
可以查看文件/etc/shells,进入shell
4:shell脚本的执行方式:
输出命令echo [选项] [输出内容]
选项:-e: 支持反斜线控制的字符转换
控制字符 | 作用 |
\\ | 输出\本身 |
\a | 输出警告音 |
\b | 退格键,也就是向左删除一个字符 |
\c | 取消输出行末的换行符。和"-n”选项一致 |
\e | ESCAPE键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车键 |
\t | 制表符,也就是tab键 |
\v | 垂直制表符 |
\0nnn | 按照8进制ASCLL码表输出字符,其中0位数字,nnn为三位8进制数 |
\xhh | 按照16进制ASCLL码表输出字符,其中hh是两位16进制数 |
其中\e[1代表开启颜色输出,\e[0m代表结束颜色输出31m表示红色,30m表示黑色,32m表示绿色,33m表示黄色,34m表示蓝色,35m表示洋红,36m表示青色,37m表示白色。
5:第一个脚本:
vi hello.sh
不是注释,标称以下写的程序是脚本
6:脚本执行
方法1:赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
方法2:通过Bash调用执行脚本
bash hello.sh
如果是从window上下载的shell脚本,它们的回车符有区别,导致在Linux上不可以运行,可以使用(dos2unix 文件名)的形式将其转换为linux格式。相对的就是unix2dos命令。