【发布时间】:2014-04-07 15:22:12
【问题描述】:
我不明白这个脚本会发生什么:它应该简单地为从 ls 输出的每个文件运行 jar 和软件,但在某些文件中它会停止并挂在 jar 部分,我唯一能做的就是杀死它。 从该文件重新启动 for 循环使其工作以及直接在文件上运行 jar。这是脚本:
#!/bin/bash
for file in $(ls ./src/RF/ | grep BEAM\.fa$)
do
echo $file
java -jar jar.jar > /dev/null
./otherscript
done
然后我启动它:
nohup ./bashscript.sh &
我说清楚了吗?
【问题讨论】:
-
文件名中有空格吗?
-
不,它们都是 RF00###BEAM.fa 的形式。我很确定 ls|grep 运行良好。这是以后发生的事情
-
我在某些行中看到您使用
file.eps。你的意思是$file.eps还是只是一个常数file.eps?另外,在./otherscript -f file。一般来说,在使用它们时引用你的变量 -->echo "$file"等等。 -
好的,已编辑。抱歉,我在不重要的快速书面部分上误导了您的注意力。从 htop 我可以清楚地看到它挂在 jar 文件上(而正如我之前所说,jar 在该文件上运行没有问题)
-
您可以尝试删除
> /dev/null部分并查看输出。或将其重定向到文件并检查内容。另外,如果你直接用./bashcript.sh运行它是否正常工作(没有nohup也没有背景&)