一、Shell是什么?
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来 启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
我们通过外层应用命令或者敲入的代码,内核是不能识别的,因为计算机识别的是0101的机器语言,所以代码与机器语言之间就需要有转换,需要将我们的命令转成机器语言,同时还要将返回的结果从机器语言翻译成命令。这就是Shell的作用。
后面的推文我们将对Bash这个Shell进行讲解。
二、脚本执行方式
1.echo输出命令
语法:echo [选项] [输出内容]
echo -e 支持反斜线控制的字符转换
下表为控制符的作用:
控制字符 | 作用 |
---|---|
\\ | 输出\本身 |
\a | 输出警告音 |
\b | 退格键,也就是向左删除键 |
\c | 取消输出行末的换行符。 |
\e | ESCAPE键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车键 |
\t | 制表符,也就是Tab键 |
\v | 垂直制表符 |
\0nnn | 按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数 |
\xhh | 按照十六进制ASCII码表输出字符。其中hh是两位十六进制数 |
例1:简单的输出
例2:echo -e 部分示例
①\b:退格键,也就是向左删除键
②\t:制表符,也就是Tab键;\n:换行符
例3:输出带有颜色的字符
PS:\e[1:表示开启颜色输出;\e[0m:表示结束颜色输出
31m=红色,30m=黑色,31m=红色,32m=绿色,33m=黄色,34m=蓝色,35m=洋红,36m=青色,37m=白色
2.脚本演示(可左右滑动)
[lhh98330@laptop ~]$vim hello.sh #Linux中最好把脚本的后缀名改成.sh
#以下为hello.sh的内容
#!/bin/bash #不是注释,是标识符,说明以下为shell脚本,必须加
#The first program #注释
#Author:yuzai #注释
echo -e "Welcome to learn Linux"
脚本执行
#赋予执行权限,直接运行,PS:所有程序必须用绝对路径或者相对路径执行
[root@laptop ~]#chmod 755 hello.sh
[root@laptop sh]#/root/sh/hello.sh #绝对路径
[root@laptop sh]#./hello.sh #相对路径
#通过Bash调用执行脚本,不需要执行权限就可以执行
[root@laptop ~]# bash hello.sh
PS:如果从Windows里面拷贝一个脚本到Linux,虽然有的时候格式一样但是还是会报错,这便是因为两个系统中脚本的格式不同,想要运行,此时用到一个命令进行转换:dos2unix [文件名],转换后,Linux就可以执行了。
END