shell脚本的几种不同执行方式的区别实验
来源:互联网 发布:无法解析域名错误码137 编辑:程序博客网 时间:2024/06/05 00:38
shell脚本归结起来有三种执行方式,按执行时是否创建子shell可以分为两类。下面贴出我的测试脚本及测试结果。
#! /bin/bashcd echo "this shell's pid is $$" #打印执行脚本进程的pid#执行shell脚本方式可以分为两类:#a. 创建一个子shell, 即一个新的进程,然后在里面执行脚本。# ./shell.sh# shell-absolute-path/shell.sh #这两种方式,要求执行用户有执行权限。# bash shell.sh# sh shell.sh #这两种方式可以在用户对shell.sh没有执行权限时执行。#b. 不创建子shell,直接在当前shell中执行脚本:# . shell.sh #前面是点号。# source shell.sh #这两种方式,是否让你想起了什么,对,当我们修改了.bashrc,要让他马上生效时,采用的就是这种执行方式。# 分别用以上方式执行该脚本,你会发现区别的
实验结果:
可以看到采用.和source执行脚本shell的pid和当前环境shell的pid一样,不会创建子shell,而且脚本中的cd命令如同实在当前shell中执行的一样,可以改变当前shell的上下文环境。
而除此外的其它执行方式就没有以上特点了,从他们执行时shel的pid和当前shell是不一样的,因此cd命令的效果没有看到,因为它只是改变了执行它的那个子shell的上下文环境,对当前shell无影响。
1 0
- shell脚本的几种不同执行方式的区别实验
- shell脚本的几种不同执行方式的区别实验
- Shell脚本的几种执行方式之区别
- shell脚本执行的几种方式
- shell的不同执行方式及其区别
- shell与subshell与执行脚本的几种方式
- Perl执行shell命令的几种方式及其区别
- shell脚本的两种执行方式区别举例
- 执行shell脚本的几种方法
- 执行shell脚本的几种方法
- Shell脚本调试的几种方式
- Python:脚本的几种执行方式
- linux脚本的几种执行方式
- 执行shell脚本的三种方式
- shell脚本的两种执行方式
- shell脚本的三种执行方式
- shell 执行脚本的 3 种方式
- shell 脚本的执行方式
- post表单处理中文乱码问题
- java回忆录—流程控制
- 自定义建类库
- Spring配置文件里面自动提示配置方法
- ThinkPHP加载当前模块下的扩展方法
- shell脚本的几种不同执行方式的区别实验
- CocoaPods安装和使用及问题:Setting up CocoaPods master repo
- String StringBuilder StringBuffer 对比 总结得非常好
- 带公式的markdown转成docx和pdf
- Duplicate symbol __OBJC_IVAR__$_及微信分享报WXAPI.a未导入
- 浅析Java中的final关键字
- 【Linux】终端,进程组,作业,会话及作业控制
- ubuntu 下git的使用
- 解析Java中静态变量与实例变量的区别