如何存储每个进程变量,类似于unix如何存储每个进程的pwd?

时间:2018-04-16 13:35:24

标签: c bash unix tags filesystems

我正在尝试使用类似于文件系统API(cd,pwd,ls等)的API编写命令行实用程序。

我正在尝试编写的实用程序对标记集而不是文件夹进行操作。而不是在文件夹x / y / z中,您处于集合x + y + z的交集处。

我打算将工作目录的等价物存储在一个环境变量中,这样每个shell都可以拥有它自己的一组标记,但是遇到了障碍。当生成子进程以更改工作集时,它会获得它自己的所有环境变量的副本,然后,当它退出时,父进程环境变量保持不变。

有人能想到另一种解决这个问题的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我在irc上问了同样的问题并得到了满意的答案。

Bash函数不作为子进程运行,所以我可以将我的可执行文件包装在shell函数中,让函数更新环境变量。