Shell-Script

以遞歸方式更改文件和內部所有內容的權限

  • April 5, 2019

所以我想創建一個名為changeAllPermisions的別名,它接受一個參數參數,這樣當changeAllPermissions argument被呼叫時, Group 和 Other 都無權讀取、寫入或執行參數。如果參數是目錄,則權限將更改為參數以及遞歸內部的所有內容。

這是我所知道的

我知道如何創建別名,例如

alias myAlias=ls

我也知道如何遞歸地列出文件

ls -R

要更改我的問題所述的權限,我會這樣做

chmod go-rwx

但我很難把所有這些放在一起。

任何幫助表示讚賞。

謝謝朋友。

chmod已經有一個遞歸標誌 ( -R)。從手冊頁:

  -R, --recursive
         change files and directories recursively

因此,如果您想要一個函式為您執行此操作,您可以編寫類似

function myFunc() {
   chmod -R go-rwx -- "$1"
}

或別名:

alias myAlias='chmod -R go-rwx'

我還沒有測試過這個,但在我腦海中,這就是我想出的:

alias changeAllPermissions='chmod -R go-rwx $1'

-R 選項以遞歸方式更改權限。

引用自:https://unix.stackexchange.com/questions/229323