我在OpenSCAD中复制了一段代码来生成钥匙链文件,我有一个变量“name”,我改变它来调整文件。现在,我想使用“names.txt”文件中的名称列表来导出多个具有调整后名称的文件。
以下是我目前使用的shellscript:
#!/bin/bash
# Check if the names.txt file exists
if [ ! -f names.txt ]; then
echo "Error: names.txt file does not exist!"
exit 1
fi
# Get the names from the names.txt file
names=$(cat names.txt)
# Generate the STL files
for name in $names; do
# Generate the STL file
/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD -o "$name".stl -D name="$name" generator.scad
# Check for errors
if [ $? -ne 0 ]; then
echo "Error generating STL file for $name"
exit 1
fi
done
脚本似乎运行正常,但我得到一个警告:WARNING: Ignoring unknown variable 'EVA' in file keychain_nametag_generator.scad, line 85
(The变量“伊娃”是我列表中的第一个名字)
OpenSCAD文件以此行开始:name = read_string();
生成文件,但没有名称。我花了一整晚的时间试图修好它,但我不知道出了什么问题。
1条答案
按热度按时间nkcskrwz1#
显然你在OpenSCAD用户手册中忽略了这一点:
要注意,shell(bash、cmd等)在将参数传递给
openscad
之前会对其进行解析,因此您需要使用特殊字符(如空格或引号)正确地引用或转义参数。...所以你可以这样写: