在 shell 脚本中使用 for 循环
use of for loop in shell script
我写了一个 shell 脚本,试图 运行 gnuplot
.
run_script.sh
#!/bin/bash
echo "Script to generate the graph "
date
shopt -s extglob
rm -rf *.png
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file0.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file1.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file2.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file3.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file4.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file5.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file6.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file7.gpl
但是当我想从脚本中替换这个 gnu plot 语句并在脚本中使用这个 for loop
但我遇到了路径错误。
#!/bin/bash
echo "Script to generate the graph "
date
shopt -s extglob
rm -rf *.png
FILES=/path/to//localtemp/$USER/video_project/build/../plot_graph/*gpl
for f in $FILES
do
gnuplot $f
done
错误:"/path/to//localtemp/$USER/video_project/build/../plot_graph/*gpl", line 0: Cannot open script file '/path/to//localtemp/$USER/video_project/build/../plot_graph/*gpl'
注意:这些 *.gpl 文件存在于 plot_graph
.
我不确定 /path/to
在那里做什么;这看起来更像是人们为通用示例编写的伪代码。您的问题已经有了确切的使用路径:
for f in /localtemp/$USER/video_project/build/../plot_graph/*.gpl; do
gnuplot "$f"
done
我写了一个 shell 脚本,试图 运行 gnuplot
.
run_script.sh
#!/bin/bash
echo "Script to generate the graph "
date
shopt -s extglob
rm -rf *.png
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file0.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file1.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file2.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file3.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file4.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file5.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file6.gpl
gnuplot /localtemp/$USER/video_project/build/../plot_graph/display_file7.gpl
但是当我想从脚本中替换这个 gnu plot 语句并在脚本中使用这个 for loop
但我遇到了路径错误。
#!/bin/bash
echo "Script to generate the graph "
date
shopt -s extglob
rm -rf *.png
FILES=/path/to//localtemp/$USER/video_project/build/../plot_graph/*gpl
for f in $FILES
do
gnuplot $f
done
错误:"/path/to//localtemp/$USER/video_project/build/../plot_graph/*gpl", line 0: Cannot open script file '/path/to//localtemp/$USER/video_project/build/../plot_graph/*gpl'
注意:这些 *.gpl 文件存在于 plot_graph
.
我不确定 /path/to
在那里做什么;这看起来更像是人们为通用示例编写的伪代码。您的问题已经有了确切的使用路径:
for f in /localtemp/$USER/video_project/build/../plot_graph/*.gpl; do
gnuplot "$f"
done