我正在使用 Matlab 打印一个小文本文件 (temp_script.exec),该文件将用于运行 GrADS 命令。该脚本如下所示:
'reinit'
'open temp_ctl.ctl'
'set lon -100 -80'
'set lat 20 30'
'define prc = var'
'set sdfwrite data_out.nc'
'sdfwrite prc'
该脚本通过 cshell 调用:
#!/bin/csh -f
grads -lbc << EOF
temp_script.exec
EOF
exit
该脚本似乎正确执行,但未生成输出 (data_out.nc)。奇怪的是,如果我使用 VI 编辑它并替换第一个字符 - 命令“reinit”之前的单引号 - 通过键入另一个单引号,然后重新运行脚本,数据会正确生成。
我的问题是,有什么不同?这些脚本在几个不同的文本编辑器中看起来相同,但“修改后的”脚本(通过键入)要大 1 个字节。我正在使用“fprintf”函数在 Matlab 中生成单引号。该功能可能有问题吗?
谢谢阅读。