我正在尝试使用类似于文件系统API(cd,pwd,ls等)的API编写命令行实用程序。
我正在尝试编写的实用程序对标记集而不是文件夹进行操作。而不是在文件夹x / y / z中,您处于集合x + y + z的交集处。
我打算将工作目录的等价物存储在一个环境变量中,这样每个shell都可以拥有它自己的一组标记,但是遇到了障碍。当生成子进程以更改工作集时,它会获得它自己的所有环境变量的副本,然后,当它退出时,父进程环境变量保持不变。
有人能想到另一种解决这个问题的方法吗?
谢谢。
答案 0 :(得分:0)
我在irc上问了同样的问题并得到了满意的答案。
Bash函数不作为子进程运行,所以我可以将我的可执行文件包装在shell函数中,让函数更新环境变量。