您的位置:一分快三全天精准计划 > 一分快三全天精准计划-操作系统 > linux执行脚本的三种方式

linux执行脚本的三种方式

2019-09-09 16:52

linux执行脚本的三种方式

 

目前据我所知有三种 

./bar.sh 是folk的子进程中执行. 

. ./bar.sh 是把./bar.sh的内容读取到当前运行环境开始执行 

exec ./bar.sh 是把当前进程替换为./bar.sh的进程. 

  www.2cto.com  

假设有脚本foo.sh 

Python代码  

#!/bin/sh  

A="hello";  

echo "before,A is $A"  

./bar.sh  

echo "after ,A is $A"  

 

脚本bar.sh 

Python代码  

#!/bin/sh  

A="world";  

 

执行foo.sh后输出如下     www.2cto.com  

before,A is hello 

after ,A is hello 

因为bar.sh是在子进程中执行的,不会影响父进程的变量. 

 

改成 . ./bar.sh后输出为 

before,A is hello 

after ,A is world 

因为bar.sh的内容被提到了父进程中执行了. 

 

然后改为exec ./bar.sh后输出为 

before,A is hello 

因为父进程被替换了,所以执行完了子进程之后,后面的语句就不执行了.

 

目前据我所知有三种 ./bar.sh 是folk的子进程中执行. . ./bar.sh 是把./bar.sh的内容读取到当前运行环境开始执行 exec ....

本文由一分快三全天精准计划发布于一分快三全天精准计划-操作系统,转载请注明出处:linux执行脚本的三种方式

关键词: