shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户输入的命令给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕并反馈给用户。这种对话方式是交互也可以是非交互的。
我们所输入的命令计算机是不识别的,这时候就需要一种程序来帮助我们进行翻译,编程计算机程序,同时又把计算机生成的结果返回给我们。
编程语言分类
编程语言主要用:低级语言和高级语言
-
低级语言:
- 机器语言:二进制语言
- 汇编语言:符号语言,使用助记符来代替操作码,也就是用符号代替机器语言的二进制码
-
高级语言
他是比较接近自然语言或者说人类语言的一种编程,用人们能够容易理解的方式进行编写程序。
静态语言:编译型语言 如:c、c++、java
动态语言:解释型语言 如:php、shell、python、perl
gcc编译器:(解释器)将人类理解的语言翻译成机器理解的语言
什么是shell脚本shell脚本:就是说我们把原来linux命令或语句放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程序为shell脚本或shell程序;我们可以在脚本中输入一系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机会结合起来就形成了一个功能强大的shell脚本。
简单脚本我们来试着编写一个简单的shell
vim test.shell
#!/bin/bash
# this is shell
echo "hello world"
mkdir -p /tmp/test
touch /tmp/test/a.txt
赋予权限
chmod +x test.sh
执行
test.sh
1.#!/bin/bash
作用:告诉脚本使用的哪种命令解释器,如不指shell,以当前shell作为作为执行的shell
2.在shell中以#开始头表示,整个行被当做一个注释,执行时候被忽略
3.shell程序一般以.sh结尾
创建shell程序的步骤:
1、创建一个包含命令和控制结构的文件。
2、修改这个文件的权限使用它可以执行。
chmod u+x
3、检测语法错误
4、执行./xxx.sh
shell执的几种方式:
1、/root/test.sh
或者 ./test.sh
(当前路径下执行脚本的话要有执行权限)
2、bash test.sh
或sh test.sh
(这种方式可以不对脚本文件添加执行权限)
3、source test.sh
(可以没有执行权限)
4、sh < test.sh
或者 cat test.sh | sh(bash)