这次介绍的是关于Linux的shell。
1》shell的理解
在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。
Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。
它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后再把结果返回用户或应用程序。
2》shell的类型及分类
1、Bourne Shell (包括sh、ksh、bash、psh、Zsh)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
Perl Shell (psh)
2、C Shell (包括csh、tcsh)
主要用于UNIX
3》bash,Linux运行的shell
大多数的Linux(Red Hat,CentOS,Ubuntu)都以 bash 作为缺省的shell,并且运行sh时,其实调用的是bash。
1、Linux支持的shell
Linux支持的shell 保存在 /etc/shells 下,在该文件里查看系统支持的shell.
例如:Ubuntu下
cat /etc/shells
显示结果:
第一句,#后边的为注释语句
2、使用 echo $SHELL 查看当前系统运行的shell.
显示当前使用的shell是bash,及Linux默认进入的shell。
3、进入其他shell
进入其他shell,直接输入名称就可以.
例如:
进入sh
执行指令ls(显示目录下的文件),pwd(显示当前目录的路径)
退出sh(退出使用exit)
4》一个简单的shell脚本
一下操作都是在当前目录下操作的。
1、首先介绍下 echo 输出命令
echo "hello,world!" ##完整打印 hello,world!
echo -e "hello\nworld!" ## -e 可以添加控制字符
控制字符 | 作用
\a | 输出警告音
\b | 退格键,也是向左删除键
\n | 换行符
\r | 回车键
\t | 制表符
\v | 垂直制表符
\0nnn | 八进制输出,nnn是三位八进制
\xhh | 十六进制输出,hh是二位十六进制
echo -e 还支持颜色输出,例如:
echo -e "\e[1;31mHello,world\e[0m"
#输出颜色 :30m=黑色 31m=红色 32m=绿色 33m=黄色
34m=蓝色 35m=洋红 36m=青色 37m=白色
2、第一个脚本
vim hello.sh ##编辑一个脚本,起名叫hello.sh,编辑器你随意
编辑内容:
#!/bin/bash (这句因为诸多原因最好加上)
#my first bash shell (这句是注释内容,一个好的代码是需要必要的注释)
echo -e "\e[1;33mThis is my first bash shell! \e[0m"
(这是脚本主要执行的内容,该脚本只是打印一行字符串。)
这样一个脚本就写好了。
3、执行写好的脚本
执行写好的脚本呢,是有两种方式。
①通过Bash调用执行脚本(临时执行)
bash hello.sh
②赋予执行权限,直接运行
chmod 755 hello.sh ##修改权限
./hello.sh ##相对路径执行脚本,绝对路径下也可以
编辑脚本
执行脚本