我想绘制存储在不同文件中的一组数据:
file.txt_100K
file.txt_200K
file.txt_300K
我想出了以下 bash 脚本:
1 #!/bin/bash
2
3 filename=file.txt_
4
5 gnuplot <<- EOF
6 set term png
7 set output "plot.png"
8 plot '"$filename"100K' w lp,\
9 '"$filename"200K' w lp,\
10 '"$filename"300K' w lp
11 EOF
以下是运行脚本后的输出:
line 0: warning: Cannot find or open file ""file.txt_"100K"
line 0: warning: Cannot find or open file ""file.txt_"200K"
line 0: warning: Cannot find or open file ""file.txt_"300K"
line 0: No data in plot
我希望 bash 脚本的第 8、9 和 10 行会出现以下情况:
'"$filename"100K' == 'file.txt_100K'
'"$filename"200K' == 'file.txt_200K'
'"$filename"300K' == 'file.txt_300K'
我应该对第 8、9、10 行进行哪些更改才能获得上述所需结果?提前致谢。
答案1
从手册页来看,bash此处文档只做
参数扩展、命令替换和算术扩展,
所以它不会删除引号。使用像这样的行
plot '${filename}100K' w lp,\