linux – 在bash中,dot命令&符号是做什么的?
发布时间:2020-12-14 01:04:32 所属栏目:Linux 来源:网络整理
导读:我试图理解一个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 – 独立KVM服务器的最佳实践
- linux – 内核恐慌 – 不同步:试图杀死Vmware上的空闲任务
- C中重复的静态变量初始化
- linux – 在下一行中打印提示后面的bash脚本结果
- Arch linux衍生版安装配置(Manjaro,Antergos,Apricity.etc)
- linux – 如何衡量复杂的I / O活动以开发真实的基准测试?
- Linux中error while loading shared libraries错误解决办法
- 部署 – Ansible同步请求密码
- linux – U-boot在单独的核心上加载两个映像
- linux – 无法设置静态主机路由 – “SIOCADDRT:没有这样的