首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gnuplot不会读取$ character

Gnuplot不会读取$ character
EN

Stack Overflow用户
提问于 2012-06-27 22:10:37
回答 1查看 1.2K关注 0票数 1

我有一个非常简单的脚本:

代码语言:javascript
运行
复制
#!/bin/bash
gnuplot << EOF
set term postscript portrait
set output 'out.ps'

plot 'data_file' u 3:($2==0.0 ? $2:1/0)

EOF

其中data_file如下所示:

代码语言:javascript
运行
复制
  O4     -1.20     -0.33     -5.20  
O9.5     -1.10     -0.30     -3.60  
  B0     -1.08     -0.30     -3.25  
B0.5     -1.00     -0.28     -2.60  
B1.5     -0.90     -0.25     -2.10  
B2.5     -0.80     -0.22     -1.50  
  B3     -0.69     -0.20     -1.10  
....

我尝试了几种组合,但仍然总是得到相同的错误:

代码语言:javascript
运行
复制
gnuplot> plot 'S-K_data' u 3:(==0.0 ? :1/0)
                          ^
         line 0: invalid expression 

正如您所看到的,它没有读取$2字符,我就是不明白为什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-27 22:13:47

在未引用的here文档中,变量是展开的。试一试

代码语言:javascript
运行
复制
gnuplot << 'EOF'

代码语言:javascript
运行
复制
gnuplot << \EOF

您选择哪一个是个人偏好的问题(您可以使用任何引用机制,因此EOF""可以工作,但以上两个是最常见的)。当heredoc分隔符未加引号时,shell将$2扩展到传递给脚本的第二个参数。(尝试使用2个参数调用脚本。)当heredoc分隔符被引用时,不会发生这样的扩展。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11228174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档