Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个bash脚本一次又一次地运行?_Bash_Shell_Scripting - Fatal编程技术网

为什么这个bash脚本一次又一次地运行?

为什么这个bash脚本一次又一次地运行?,bash,shell,scripting,Bash,Shell,Scripting,这个脚本不知何故陷入了一个循环,它一次又一次地开始 这是剧本 #!/bin/bash # usage decimator.sh "$1" "$2" echo $1 echo $2 bin/decimator.sh --pdfinfile "$1" --outdir scr --tldr "$2" 这是它开始的历史 1997 ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumb

这个脚本不知何故陷入了一个循环,它一次又一次地开始

这是剧本

#!/bin/bash
# usage  decimator.sh "$1" "$2"
echo $1
echo $2
bin/decimator.sh --pdfinfile "$1" --outdir scr --tldr "$2"
这是它开始的历史

 1997  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 1998  git pull
 1999  lart ~/pagekicker-community/test/data/
 2000  cp ../test/data/Altmetrics_for_LibrariansAltmetric.pdf ~/pagekicker-community/test/data .
 2001  cp ../test/data/Altmetrics_for_LibrariansAltmetric.pdf ~/pagekicker-community/test/data/.
 2002  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2003  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2004  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2005  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2006  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2007  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2008  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2009  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2010  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2011  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
 2012  ../test/decimator-test.sh ../test/data/Altmetrics_for_LibrariansAltmetric.pdf "dumbing down Altmetrics"
我重新启动了系统,并进行了ps aux | grep测试,以查看进程是否存在。没有快乐


它仍在这样做,一千行历史记录之后…

经过推理,问题似乎是历史记录以循环的形式输入到命令行并找到了

我跑:

history -c
history -w

这解决了问题。我仍然不知道它是如何开始的。

我们无法根据您发布的三行脚本进行猜测。请参阅,以获取有关包含足够信息以使您的问题具有可回答性的提示。您期望得到什么?这就好像该行被反复输入到命令行中一样。我不是在做!它应该运行一次,然后停止。@FredZimmermann:这个问题是合理的,但是你提供的信息不是最重要的。您的脚本中显然没有显示这种行为的内容。真正有趣的一点是您发布的历史文件中的重复条目。可能bin/decimator.sh中的某些内容(或其中的一些附属脚本)不仅读取并执行历史记录条目,还将新执行的行添加回历史记录中(可能是因为shell显式设置为interactive)。如果您现在连续运行两次命令,它是否会以循环开始?如果您可以复制它,顺便说一句,
set-x
——或者
bash-x您的脚本
——非常非常非常是您的朋友。(如果它显示了调试陷阱或类似的--define
PS4=':$BASH_SOURCE:$LINENO+'
使
set-x
日志更有用,如果陷阱或其他负责的钩子正在调用脚本中定义的代码,我不会感到惊讶)。我理解这一点!