我正在编写一个简单的 ruby 沙箱命令行实用程序来将目录从远程文件系统复制和解压缩到本地临时目录,以便解压缩它们并让用户编辑文件。我使用 Dir.mktmpdir 作为默认的临时目录,它提供了一个非常丑陋的路径(例如:/var/folders/zz/zzzivhrRnAmviuee+++1vE+++yo/-Tmp-/d20100311-70034-abz5zj)
我希望复制和解压缩脚本的最后一个操作是将调用 shell cd 到新的临时目录中,以便人们可以轻松访问它,但我不知道如何更改调用 shell 的 PWD。一种可能性是让实用程序打印出 stdout 的新路径,然后将脚本作为子 shell 的一部分运行(即cd $(sandbox my_dir)
),但我想打印出复制和解压缩的进度,因为它可能需要 10 分钟,所以这行不通。我应该把它放到一个预先确定的、容易找到的暂存目录吗?有人有更好的建议吗?在此先感谢您的帮助。-埃里克