一、shell的作用
Linux 系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当 了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执 行的操作传递给内核执行,并输出执行结果。 常见的 Shell 解释器程序有很多种,使用不同的 Shell 时,其内部指令、命令行提示符 等方面会存在一些区别。通过/etc/shells 文件可以了解当前系统所支持的 Shell 脚本种类。
查看shell信息
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
二、什么是shell脚本?及构成
-
就是将命令按顺序一一列出,最后自动执行
-
执行需要权限,也可以直接使用绝对
-
脚本其实不复杂,通用脚本环境改变后依然可以使用的脚本
构成
-
脚本申明(解释器):第一行开头“#!/bin/bash”,表示此行以下的代码语句是通过/bin/bash程序来解释执行。#!/bin/bash为默认的解释器还有其他类型的解释器,#!/bin/python #!/bin/expect
-
注释信息:以#开头的语句表示为注释信息
-
可执行语句:比如echo命令用于输出“ ”之间的字符串
例如:
[root@localhost ~]# vim xxx.sh
#!/bin/bash
echo "hello world"
#输出 你好
~[root@localhost ~]# bash xxx.sh
hello world
三、脚本执行逻辑及方式
(一)脚本执行逻辑
-
顺序执行:程序按从上到下顺序执行
-
选择执行:程序执行过程中,根据条件的不同,进行选择不同分支继续执行
-
循环执行:程序执行过程中需要重复执行多次某段语句
(二)脚本执行方式
1、指定脚本文件路径,并给予脚本文件执行权限
[root@localhost ~]# chmod +x /root/xxx.sh
[root@localhost ~]# ./xxx.sh // ./后面不能加空格
hello world
[root@localhost ~]#[root@localhost ~]# . xxx.sh //使用.后面要加空格
hello world
2、指定bash解释器直接执行
[root@localhost ~]# bash xxx.sh
hello world
3、使用source不需要权限直接执行
[root@localhost ~]# source xxx.sh
hello world
4、使用sh不需要权限直接执行
[root@localhost ~]# sh xxx.sh
hello world