在我的 git 專案中,我需要洗掉所有以 **.pyc 結尾的檔案。因此,我運行以下命令,但得到了這個錯誤no terminating ";",我不明白它的含義。
find . -name "**.pyc" -exec git rm {};
find: -exec: no terminating ";" or " "
如果我只是運行,find . -name "**.pyc"我會得到所有格式為 .pyc 的檔案的串列。
uj5u.com熱心網友回復:
當您執行find . -name "**.pyc" -exec git rm {};時,shell 將 讀取;為終止字符并執行命令find . -name "**.pyc" -exec git rm {}。但這是一個錯誤,因為find期望-exec命令以;. 也就是說,您需要;作為引數之一傳遞給find. 您可以通過將其轉義到 shell 來實作這一點,使用find . -name "**.pyc" -exec git rm {} \;或find . -name "**.pyc" -exec git rm {} ";" 另一個選項是終止-execwith ,這將git rm使用多個引數呼叫,從而減少對 的呼叫git。這稍微方便一些,因為 不需要轉義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/461190.html
下一篇:如何在bash中回顯重音符號
