对于 *nix 系统,使用POV-Ray 的文件处理系统打开文件中的标准输入.pov
文件
#fopen STDIN "/dev/stdin" read
#read (STDIN, var1, var2)
这将从标准输入中读取以逗号分隔的 POV 文字列表。然而,POV-Ray 不处理从管道读取;因此,使用 herestrings(或 heredocuments,如果您必须只使用sh
兼容的语法)来填充 POV-Ray 的标准输入。
例如,如果在 shell 中运行(适用于 bash):
povray "example.pov" <<<'"hello","world"'
将分别用值“hello”和“world”填充上面的变量 var1 和 var2。请注意,列表中的每个字符串值都必须包含引号。这是因为 POV 需要我们传递的“文件”中的 POV 文字。
如果您想改用 .ini 文件,只需调用 .ini 文件代替 .pov 文件,一切都会按预期工作。
如果您希望将更多或更少的变量传递给 POV 文件,请在 #read 指令中添加或删除变量名称,并将您传递的数字扩展或修剪为相同的长度。
你也可以像这样传递 shell 变量。如果 foo 包含"hello"
引号,并且 "example.pov" 期望 herestring 中有一个字符串,则
povray "example.pov" <<<$foo
将传递hello
给#read 指令中的变量。
此外,您可以使用除 stings 之外的其他 POV 文字,在这种情况下,请使用该文字类型的相关 POV 语法。但是,您不能将 POV 表达式放入此处的字符串中。有关更多信息,请参阅wiki 页面。