打印shell中的所有局部变量



一些背景

我需要模拟shell命令source的行为,但在Python中。特别是寻找tcsh脚本,但如果它尽可能通用就更好了。

我已经看到了这个答案,它使shell运行env来打印所有环境变量。

我的问题envprintenv只打印环境变量,不打印局部变量。然而,我想要获取的tcsh脚本使用像

这样的命令
set FOO=bar

那么在tcsh(和其他shell,只是为了完整性)中有一种方法可以打印所有的局部变量吗?

编辑:是的,我知道我必须运行TCSH作为它解析脚本的子进程,是的,python不能读取TCSH的内存,这就是为什么我想要一种方法来打印TCSH内的所有局部变量,以便python可以读取它们。

解决方案非常简单。就像可以用setenv打印的环境一样,可以用set打印局部变量。希望对大家有用!

为了记录,我解决了这个问题,多亏了@chepner的评论

不带参数的set命令可能是您想要的。

这是生成的python库,它完成了读取由脚本为大多数主要shell设置的本地和环境变量,并提供了一些定制以支持任何shell。

相关内容

  • 没有找到相关文章

最新更新