bash - 将 shell 脚本中的变量用于 gnuplot
问题描述
我尝试使用 shell 脚本中的变量在同一个图上绘制多条曲线。我的问题是我没有成功收集变量并在 gnuplot 中使用它们。
这是我的代码:
#!/bin/bash
for elem in AMD WALE SIM;
do
echo $elem
Utau_$elem=$(awk 'FNR==5{print $1}' file_$elem)
done
gnuplot -persist <<-EOFMarker
list= "AMD WALE SIM"
plot for [i in list] "stat_".i u 1:($1/Utau_.i) @ title_i
EOFMarker
该脚本旨在避免编写所有情节句子,但应具有与以下相同的效果:
plot "stat_AMD" u 1:($1/Utau_AMD}) @title_AMD,\
"stat_WALE" u 1:($1/Utau_WALE}) @title_WALE,\
"stat_SIM" u 1:($1/Utau_SIM}) @title_SIM
我没有成功绘制任何东西,我不确定是否可以在 bash 脚本的值 Utau_$elem 和 gnuplot 脚本的 Utau_.i 之间完成链接。有人知道是否可行,我该如何编码?
非常感谢 !
解决方案
感谢@markp-fuso,它有效!
我只需要将 "($1/${Utau_fr[${i}]})" 替换为 "(column(1)/${Utau_fr[${i}]})" 因为美元符号被解释为开始壳变量。
推荐阅读
- python-3.x - .bash_profile 中是否有特定的环境变量存储格式?
- terminal - 使用主机文件同时访问旧/新站点
- machine-learning - 用于分类学/一般词分类的开源预训练模型
- java - Python 中使用 if-else 语句的范围规则 (LEGB)
- javascript - 删除频道中的每条消息
- python - 通过模型时,Django 未检测到 ManyToManyField 中的外键
- python - 如何在 Python 中处理 JSON 对象列表中缺少的键
- asp.net-core - 如何在 Asp.NET 核心 Web API 中测试 AuthZ?
- reactjs - react中的输入是如何处理的?
- python - 绘制五维自变量的边界决策