→ CP64: 這個就後面加了一長串的參數 05/03 22:54
→ CP64: find ./ -type d -exec sudo chmod g+x {} \; 05/03 22:55
→ CP64: 這種的就是執行很多次 05/03 22:55
推 yvb: 可能是目錄名有空白. 太長應該是 arguments too long 之類. 05/03 23:00
→ CP64: for dir in $(find . -type d); do chmod g+x $dir; done 05/03 23:02
→ CP64: 這種也是 不過目錄名稱有空白會有問題 05/03 23:02
→ CP64: 剛剛試了一下 原 PO 那條也會有空白的問題 05/03 23:03
→ ymzk: 有看過find ./ -type d -exec sudo chmod g+x {} \; 05/03 23:05
→ ymzk: 但無法理解 {} \ 是什麼意思? 05/03 23:05
→ CP64: 那是 find 的參數格式 05/03 23:07
→ CP64: 他會察看指定目錄下的所有檔案 05/03 23:09
→ CP64: 當符合條件時會執行 exec 後面指定的指令 05/03 23:09
→ CP64: 因為 ; 在大部份 shell 裡有意義所以要 escape 05/03 23:09
推 Adama: {}代表find找到的檔案,\;是"sudo chmod...;"的那個";" 05/03 23:10
→ CP64: {} 則代表這邊要置換成目前遍歷到且符合條件的檔名 05/03 23:10
→ ymzk: 理解=口= 感謝 那這個沒有空白問題囉@@ 05/03 23:11
→ CP64: 我試過是沒有 05/03 23:14
→ ymzk: 嗯... 這條好像也沒錯誤訊息了也~ 感謝 05/03 23:17
→ danny8376: find的exec會自動上""啦 原PO的那條要另外包上""才行 05/04 02:37