Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 在bash中,dot命令&符号是做什么的?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我试图理解一个bash脚本,我应该维护并卡住.命令是这种形式: . $APP_LOCATION/somescript.sh param1 param2 & 该行不是在循环中调用的,也不是从somescript.sh发送回调用脚本的任何返回代码 我知道“.”将使进程在同一个sHell中运行.但是“&”将产生一个不同的过程. 这听起来很矛盾.这里到底发生了什么?有任何想法吗? 该脚本在后台进程中运行,
我试图理解一个bash脚本,我应该维护并卡住.命令是这种形式:

. $APP_LOCATION/somescript.sh param1 param2 &

该行不是在循环中调用的,也不是从somescript.sh发送回调用脚本的任何返回代码

我知道“.”将使进程在同一个sHell中运行.但是“&”将产生一个不同的过程.

这听起来很矛盾.这里到底发生了什么?有任何想法吗?

解决方法

该脚本在后台进程中运行,但它是一个子sHell,而不是一个单独调用的解释器,因为它没有点.

也就是说 – 当前的解释器分叉然后开始运行命令(获取脚本).因此,它继承了sHell变量,而不仅仅是环境变量.

否则,将通过execv()调用调用新脚本的解释器,该调用将用新的解释器替换当前解释器.这通常是正确的,因为它提供了更多的灵活性 – 除了为同一个sHell编写的脚本之外,你不能运行任何东西.或者源,毕竟,启动一个新的解释器意味着你的一个脚本可以用Python,Perl,编译的二进制文件等重写,而不需要调用者进行更改.

(这是为什么要执行脚本的原因的一部分,而不是意图来源的库,不应该有文件扩展名 – 为什么bash库应该是.bash,而不是.sh的一部分,这样不准确的信息没有提供他们可以获得什么样的口译员).

大佬总结

以上是大佬教程为你收集整理的linux – 在bash中,dot命令&符号是做什么的?全部内容,希望文章能够帮你解决linux – 在bash中,dot命令&符号是做什么的?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。