我的项目是 Haskell 中的一个命令行应用程序,并使用opt-parse应用程序包来处理命令行选项的解析。
我正在尝试实现一种功能,该功能可以更改运行命令的 shell 的工作目录。
例如,我想做类似的事情
$ program foo
并将 shell 更改为我的程序与传递的选项关联的指定目录foo
。
$ program foo
input 'foo'; now changing to directory '~/mydirectories/foodirectory'
[~/mydirectories/foodirectory]$
我尝试使用包中的setCurrentDirectory
函数来实现此功能directory
,但这似乎不会影响运行该目录的 shell 中的工作目录;工作目录没有变化。我想象它正在设置某种程序内部工作目录,因为我看到运行可执行文件的 shell 没有任何变化。
是否可以让我的程序以这种方式更改目录?这种目录切换功能将提高使用我的应用程序的便利性。
如何从命令行可执行文件实现目录切换功能?