博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对linux中source,fork,exec的理解以及case的 使用
阅读量:4556 次
发布时间:2019-06-08

本文共 755 字,大约阅读时间需要 2 分钟。

fork

   使用 fork 方式运行 script 时, 就是让 shell(parent process) 产生一个 child process 去执行该 script, 当 child process 结束后, 会返回 parent process,但 parent process 的环境是不会因 child process 的改变而改变的.
source
   使用 source 方式运行 script 时, 就是让 script 在当前 process 内执行, 而不是产生一个 child process 来执行. 由于所有执行结果均于当前 process 内完成,若 script 的环境有所改变, 当然也会改变当前 process 环境了.
source ./my.sh 或 . ./my.sh
 
exec
   使用 exec 方式运行script时, 它和 source 一样, 也是让 script 在当前process内执行, 但是 process 内的原代码剩下部分将被终止. 同样, process 内的环境随script 改变而改变.

 

case的使用

      case $1 in

               exec)

                  echo "using exec..."

                   exec ./2.sh ;;//必须注意后面的两个分号,必须使用两个分号

             source)

               echo "using source..."

               . ./2.sh ;;

               *)//此处代表默认配置

                  echo "using fork by default..."

                   ./2.sh ;;

         esac

注意在是用的过程中,变量$1由./hao.sh source这样类似的语句产生

 

转载于:https://www.cnblogs.com/haoxing990/p/4627154.html

你可能感兴趣的文章
latex 去掉(不显示)空白页的页码与页眉
查看>>
Spring MyBatis多数据源分包
查看>>
HDOJ 1879 继续畅通工程
查看>>
spring Springmvc mybatis maven整合
查看>>
方法参数(值调用,引用调用)
查看>>
有名管道的非阻塞设置
查看>>
Git使用教程-idea系列中git使用教程
查看>>
diff.js 列表对比算法 源码分析
查看>>
模块运用,文件搜索
查看>>
基于托管C++的增删改查及异步回调小程序
查看>>
php中fastcgi和php-fpm是什么东西
查看>>
C#排序算法的实现---冒泡排序
查看>>
C# 获取属性的description总结
查看>>
hdu 1811 Rank of Tetris
查看>>
hdu1466 计算直线的交点数
查看>>
Canvas上绘制几何图形
查看>>
tomcat的集群配置
查看>>
Nginx用户权限
查看>>
[算法]最大连续子数组和,最长重复子串,最长无重复字符子串
查看>>
56. Merge Intervals 57. Insert Interval *HARD*
查看>>