一、shell概述
1.shell定义
通俗:linux的操作字符界面就是shell,我们在这个界面输入命令,shell通过ASCII表来翻译成0101代码,传递给内核,然后由内核来调用硬件处理。处理完成之后,在通过shell,返回给用户,输出结果。我们也可以自己去编写shell。
官方:
- shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序的界面系统级别程序,用户可以用shell来启动、挂起、停止甚至编写一些程序。
- shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。shell是解释执行的脚步语言,在shell中可以直接调用linux系统命令。
2.shell分类
- Bourne Shell:主文件名为sh,现在基本不用了。主要包括sh、ksh、bash、psh
- C Shell:BSD版的Unix中使用,与c语言语法类似。主要包括csh,tcsh
bash是当前linux中用的shell,当前linux的发行版本几乎用都是bash
c shell是Unix中使用的shell
3.linux支持的shell
查看linux下支持的shell
[root@catyuan ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
从bash进入sh中
[root@catyuan ~]# sh
sh-4.2# exit ##exit表示退出
exit
从bash进入csh中
[root@catyuan ~]# csh
[root@catyuan ~]# exit ##与bash的提示符是一样的,记得exit退出
exit
二、 脚本执行方法
1.echo命令
1.1 命令作用
输出制定内容到屏幕上
1.2 命令格式
echo 【选项】 【输出内容】
【选项】: -e 支持反斜线控制的字符转换
1.3 练习:
1.3.1 不加选项
[root@catyuan ~]# echo hehe
hehe
1.3.2 加选项-e(这里要在echo输出的内容里加双引号)
\b:退格,向前回退一格
[root@catyuan ~]# echo -e "hell\bo"
helo
\t:一个tab键
\n:换行
[root@catyuan ~]# echo -e "he\tll\to \nworld"
he ll o
world
\x:按照十六进制输出
[root@catyuan ~]# echo -e "\x68"
h
\e [1; … \e[0m:输出颜色
30m=黑色,31m=红色,32m=绿色,33m=黄色,34m=蓝色
1.4 注意:不要加!
[root@catyuan ~]# echo -e "hello!"
-bash: !": event not found
2.编写第一个脚本
[root@catyuan ~]# vim hello.sh
#!/bin/bash ##表示写的是linux下的脚本,不能省略
#这是第一个shell脚本 #这是注释
echo -e "hello world"
3.脚本的执行
第一种:赋予权限直接运行
[root@catyuan ~]# chmod 755 hello.sh
[root@catyuan ~]# ./hello.sh
hello world
第二种:通过bash调用执行脚本
[root@catyuan ~]# bash hello.sh
hello world