我想知道如何在 linux 命令中放置变量,这是我的代码:
while read line
do
$site=$line
# execute extract command foreach line(each line contain a site name)
../../data/PROG/launch extractdata -hdf 2013-01-01,2014-01-01 -site "$site" >data/hour_$site_file.txt
done < data/extract_site.txt
我解释一下:
这个文件“data/extract_site.txt”包含一个站点名称列表,每一行都是一个站点名称,对于每个站点我想提取数据并将命令的结果放在一个名为“hour_$site_file”的文件中。TXT”。例如我有一个站点名称“OPE”,命令是:../../data/PROG/launch extractdata -hdf 2013-01-01,2014-01-01 -site OPE文件名为:hour_OPE_file.txt
当我执行时出现错误:未定义的命令“=OPE”
我是 shell 初学者,有什么帮助吗?
提前致谢。
PS:抱歉我的英语不好,我是法国人。
作为左值的变量名不需要$。
链接的变量名应括在括号中,如 hour_${site}_file.txt
while read line
do
site=$line
# execute extract command foreach line(each line contain a site name)
../../data/PROG/launch extractdata -hdf 2013-01-01,2014-01-01 -site "$site" >data/hour_${site}_file.txt
done < data/extract_site.txt
我是一名优秀的程序员,十分优秀!