Shell脚本,shell科普,具有执行权限x,存放Linux命令的文本文件,shell脚本基本格式,启脚本开进程和不开进程的方法

Shell脚本,具有执行权限x,存放Linux命令的文本文件,shell脚本基本格式,启脚本开进程和不开进程的方法

一、shell科普
1、什么是shell:
封装了操作系统内核的命令解释器。

2、创建用户时默认使用bash解释器,
通过查看/etc/shells文件可以查看当前系统有多少种解释器
使用chmod chsh可以修改用户的解释器
例如:
usermod -s /bin/tcsh username //将用户的解释器切换为/bin/tcsh解释器
可通过/etc/passwd文件查看用户的解释器。

在这里插入图片描述
可以看到root用户进入的时候会运行bash解释器,而bin这类系统用户进入是不会有解释器。

3、默认解释器bash的优点:
支持各种快捷键、tab补齐
支持命令历史,命令别名
支持标准输入输出重定向
支持管道

4、切换shell的命令
直接输入想要切换的shell名就可,例如:
csh
可以切换到csh解释器,输入exit退出csh解释器回到上一级解释器bash

在这里插入图片描述

二、shell执行命令的方式
1、交互式(命令行)
需要人工干预,比如需要手动输入某些参数,
逐条解释执行、效率低。
2、非交互式(脚本)
需要提前设计号所有操作需要的参数,
批量执行、效率高。

三、shell脚本编写:
文本文件中写入可执行的Linux命令,并由Linux命令解释器执行,因为Linux的命令解释器是shell,所以该文本文件就是shell脚本。

以此类推,需要Python解释器解释的脚本是Python脚本,需要PHP解释器解释的是PHP脚本。

写一个HelloWorld的shell脚本:
1、创建文本文件HelloWorld.sh
//后缀是为了方便人员区分,没有后缀技术上不影响调用,但会引起程序员的混乱
2、文本文件中写入shell命令
echo “HelloWorld”
3、给文本文件加入执行权限
chmod +x HelloWorld.sh
4、执行文本文件
bash HelloWorld.sh
5、可以发现HelloWorld被打印在屏幕上了。

在这里插入图片描述
在这里插入图片描述

四、一个合格规范的脚本的组成部分:
1、脚本声明,#!解释器,指定解释器
2、以#开头的注释信息,包括步骤思路用途等
3、可执行的语句

因此一个合格规范的HelloWorld脚本为:
在这里插入图片描述

五、执行脚本的方式:
使用命令:
sh 脚本文件名 //逐行读取命令,默认开启子进程
source 脚本文件名 //不会启动子进程

在这里插入图片描述

使用pstree命令可以查看进程树,并通过进程树查看进程与子进程的对应关系。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

使用sh创建了子进程,新开了一个sleep分支,
source是在bash的进程上直接sleep了

区别:
使用source执行脚本等价于在当前命令行执行脚本,
如果脚本中有exit语句,source会导致当前连接断开。

使用sh执行脚本等价于创建一个子进程执行脚本,
如果脚本中有exit语句,sh会结束子进程并回到命令行。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值