大佬教程收集整理的这篇文章主要介绍了linux – 如何在父shell和子shell之间使用相同的bash变量,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
function test { running=$(( $running - 1 )) } running=0 test & echo $running
因为测试功能在子shell中运行,所以它不会影响运行变量,并且我得到0回显到屏幕.我需要子shell才能更改父shell变量,如何做到这一点?我试过出口但无济于事.
编辑感谢所有有用的答案,我想在后台运行此功能的原因是允许同时运行多个功能.我需要能够回调父脚本,告诉它何时完成所有功能.我一直在使用pid来做这个,但我不想检查循环中是否有多个进程不断存在.
见Can a shell script set environment variables of the calling shell?
但是对于您在示例中所做的事情,请尝试将此作为您的脚本:
#!/bin/bash function testSO { running=$(( $running - 1 )); return $running; }
并将其调用为:
running=$(testSO)
以上是大佬教程为你收集整理的linux – 如何在父shell和子shell之间使用相同的bash变量全部内容,希望文章能够帮你解决linux – 如何在父shell和子shell之间使用相同的bash变量所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。