親愛的專家,我有一個小問題...我正在嘗試一次性運行多個具有相同擴展名(.sh)的 shell 腳本,這些腳本存在於一個目錄中。到目前為止,我編寫了一個通用腳本,如下所示。但問題是它沒有完成運行而是繼續運行。我的小程式碼如下。如果我執行諸如 bash scriptone.sh、bash scriptkk.sh 之類的操作,它可以正常工作,但我不想要手動方式來執行此操作。
#!/bin/sh
for f in *.sh; do
bash "$f" -H
done
答案1
如果您在問題中引用的通用腳本也具有.sh
擴展名,並且與您嘗試執行的所有其他腳本存在於同一目錄中,那麼您將無限循環所有文件.sh
,因為您將調用您的通用腳本遞歸。
您可以透過多種方式解決此問題,例如,將通用腳本移至其他位置,或將所有非通用腳本放入特定的子目錄中並修改通用腳本以在其中找到它們。