我通常需要为不同的项目(example pairs: data-metadata, script-configuration, run_input-run_result-run_log
)存储逻辑上相互关联的不同文件。
大多数情况下,我 90% 的时间都使用一个文件,而且我很少需要更改配置、查看调试日志等。因此,一直看到这些辅助/补充文件让我有点困扰(感觉我组织有点乱)。
我不确定是否有这样的约定,但我想创建自己的逻辑单元,以最简单的方式由单个文件表示(例如,类似于应用程序包但不生成额外文件或需要 xcode或为它建造)。
举个例子,我运行了三个要分组的文件:run1_input.json - run1_result.json - run1_log.txt
. 对于每个“运行”,我都会创建一个类似文件的文件夹,比如run1.json
. 我希望能够做cd run1.json
, open run1.json
, ls run1.json
, open run1.json/run1_input.json
, 就像我run1.json
只是一个普通目录一样。但特别是当我双击时,run1.json
我希望必须像单击一样run1_result.json
打开run1.json/run1_result.json
。
所以基本上我正在寻找一种方法让目录中的文件“代表”其父目录。那可能吗?
奖励:我对 Linux 也有同样的兴趣,尽管我现在计划在 MacOS 中使用它
如果您希望Finder以这种方式运行,那么我认为您需要使用 Bundles(或编写自己的 Finder 扩展)。捆绑包不应该那么难使用。我认为您不需要 XCode 来创建它们。
听起来你是个程序员,所以通过 Platypus 工具创建一个“应用程序”,让它运行任何简单的 shell 脚本。然后,您可以使用 Platypus 创建的应用程序作为您的文件夹/应用程序的模板。进入文件夹/app/bundle,只需编辑应用程序运行的脚本,使其运行“textedit run1_result.json”类型的命令。双击应用程序/捆绑包将打开您的输出文件。您可以在脚本中使用符号链接(可能还可以编辑脚本打开的文件)来完成所有复杂的事情,或者让它按照文件夹/应用程序的名称行事,以了解要打开哪个输出文件。
您可能想要编写另一个脚本,该脚本采用您的模板 app/bundle/script 并为您要捆绑的这些内容中的每一个构建它。之后,您的代码在终端中正常运行,但您可以通过双击 Finder 应用程序/捆绑包与输出交互。
因为听起来您也有可能想要编辑的输入(也通过 Finder),所以当您想要在输入和输出模式。切换模式,双击 app/bundle,shell 脚本将根据环境变量打开输入或输出文件。