我想要一些有关用来描述以下内容的词汇的建议。掌握正确的词汇将使我可以搜索与该概念有关的工具和想法
如果脚本无论在何处运行,都希望产生相同的输出,我想说它是SomeWord。
例如,以下脚本是not SomeWord:
#!/bin/bash
ls ~
因为当然取决于执行的位置。
鉴于以下内容(如果它运行无错误)将始终产生相同的输出:
#!/bin/bash
echo "hello, world"
一个更有用的示例是以确保使用非常特定的容器映像的方式加载和运行docker或奇异容器的东西。例如,通过按其内容哈希值检索奇点图像。
SomeWord脚本的优点是:(a)可以在远程系统上安全地运行它们而不必担心环境,并且(b)可以缓存其输出。
我能想到的最好的方法是“确定性”或“与环境无关”或“可再现”的某些变体。
任何容器都应该能够做到这一点,因为这是该技术首先发展的重要原因。像conda这样的环境管理器也可以在某种程度上做到这一点,但是由于它只是在修改主机环境,因此有可能在没有意识到的情况下使用非conda二进制文件。