亲爱的专家,我遇到了一个小问题...我试图一次运行多个具有相同扩展名(.sh)的 shell 脚本,这些脚本位于目录中。到目前为止,我编写了一个如下所示的常用脚本。但问题是它没有完成运行,而是继续运行。我无法找出问题所在。我希望一些专家可以研究一下。我的小代码如下。如果我执行 bash scriptone.sh、bash scriptkk.sh 之类的操作,它可以正常工作,但我不想手动执行。谢谢
#!/bin/sh
for f in *.sh; do
bash "$f" -H
done
答案1
如果您在问题中引用的通用脚本也有.sh
扩展名,并且与您尝试执行的所有其他脚本位于同一目录中,那么您将无限循环遍历所有文件.sh
,因为您将以递归方式调用通用脚本。
您可以通过多种方式解决此问题,例如,将通用脚本移动到其他位置,或将所有非通用脚本放在特定子目录中,然后修改通用脚本以在那里找到它们。