什么是Shell?Shell脚本是什么?shell脚本执行过程?学习Shell编程必看!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是Shell?Shell脚本是什么?shell脚本执行过程?学习Shell编程必看!相关的知识,希望对你有一定的参考价值。

技术图片


1.什么是Shell?

首先请图————自动略过各位都是新手(CaiJi)


技术图片


聪明的你如图所得:


Shell=命令解释器
它的作用是执行并解释用户输入的命令及脚本,用户键入一条命令,Shell就执行并解释一条。
键入命令,就可以立即得到回应的对话方式,被称之为为交互式。
Shell它存在于操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户,当我们输入系统用户名和密码,登录到Linux后的所有操作都是由
Shell解释并执行的。

所以这就是Shell~

伽马<—————————————————————————————————————————>射线

2.加下来我们谈什么是Shell脚本?
技术图片
———————————你猜呗———————————

既然上文谈了Shell,想必各位也一知半解了。

当命令或脚本语句不在命令行下执行,而是通过一个程序文件(.sh)执行时,这种东西就被称为Shell脚本。

当你在Shell脚本里键入了n条命令、语句及循环等等,然后一次性把这些命令执行完(前提没有错误),这种通过文件执行脚本的方式,称为非交互的方式。Shell脚本类似于Windows系统下的批处理文件。用户可以在Shell脚本中敲入一系列的命令及语句语法组合。

这些命令、变量和流程控制语句等结合起来就形成了一个功能强大(相对于其他语言还是弱鸡)的Shell脚本。

伽马<——————————————————————————————————————————>射线

3.怎么写好一个规范标准的Shell脚本?

想写一个规范标准完美的shell?还差的远呢~

tips:在脚本的第一行,指出由哪个解释器执行,来人,上例子:

#!/bin/bash

#!/bin/sh

其实你不指定还是会默认使用bash执行的,只是领导说要规范,系统就这么做了。(养成良好习惯)

默认sh就是bash,(早期会稍有不同)因为sh是bash的软连接,在CentOS里,不信?上图为证:
技术图片

tips:

命令最前方加上#号,代表注释,注释就是跳过此行,作用于描述

描述该脚本的作用,记得加上#号,可多行注释,自行百度。

加上version信息,以及”著作人“

脚本统1路径目录

脚本中不用中文

成对的符号儿和循环格式一次性写完避免忘记,高亮颜色会提醒你

逻辑性强,干净,代码命令少,最简化,多用函授、变量等

*具体参考《代码整洁之道》(仅仅写个shell脚本就不用这么麻烦了)
伽马<——————————————————————————————————————————>射线
4.怎么执行shell?

tips:
sh script_Name.sh 或 bash script_Name.sh
用sh 或 bash直接运行
技术图片

/path/script_Name.sh 或 . /scrpt_Name.sh
输入路径加脚本名执行 或 点 /路径/脚本(前提:有执行权限)
技术图片

source script_Name.sh 或 . script_Name.sh
source命令直接运行脚本 或 点 脚本
技术图片

伽马<——————————————————————————————————————————>射线

5.shell脚本的执行过程?
来人,上图!
技术图片

简单的说就是从上至下,一行一行执行,中途有子shell需等待,可以加入后台 用&符
tops:注意子shell里面的变量不能用于父shell,父shell的变量能用于子shell,所以按需设置。

你get到了吗?

以上是关于什么是Shell?Shell脚本是什么?shell脚本执行过程?学习Shell编程必看!的主要内容,如果未能解决你的问题,请参考以下文章

什么是Shell脚本?Shell脚本在Linux运维工作中的地位!

什么是Shell?Shell脚本基础知识详细介绍

UNIX 什么是 Shell 脚本

什么时候用shell脚本以及什么时候不用脚本

shell脚本中的$*,$@和$#分别是啥意思?

Shel脚本-初步入门之《02 什么是 Shell 脚本》