修正 Linux 或 macOS 系統中的 zsh 錯誤:權限被拒絕
當您嘗試在 Linux 或 Mac 上執行命令但沒有必要的執行權限時,就會出現「zsh: permission denied」錯誤。例如,您可能對一個沒有寫入權限的目錄執行了 `ls` 命令,或執行了執行您使用者無權執行的操作的腳本。這裡所說的「權限」指的是讀取或寫入權限。

讓我們先來看看導致這個錯誤的主要原因,然後我們可以嘗試每種解決方案,看看哪種解決方案最好。
當您沒有該檔案的執行、寫入或讀取權限時,主要會發生此錯誤。
假設我們身處 Linux 作業系統上的 Zsh shell 中,並且您正在嘗試使用「cat」命令查看檔案的內容,但您收到「權限被拒絕」錯誤。

現在,要解決這個錯誤,我們首先需要查看檔案權限。我們執行 “ls -l” 查看權限。

如您所見,權限設定使得只有 root 使用者和 root 群組才能讀取該文件,而只有 root 使用者才能寫入該文件。
1. 使用 sudo
要解決這個問題,最簡單的方法就是使用 'sudo' 使用我們想要運行的命令。這將以 root 使用者身分執行該命令。在您的情況下,如果您確信要執行的命令或要執行的任務不會損害您的計算機,也可以使用「sudo」。
因此,我們可以進行以下操作:

sudo cat 文件
2. 更改檔案權限
下一步我們可以嘗試更改檔案權限。由於「權限被拒絕」錯誤通常是由讀取或寫入權限引起的,我們可以更改此檔案或相關檔案的權限。

執行 'ls -l' 在檔案所在的目錄中,我們可以看到檔案的擁有者和所屬群組都是 root。
我們可以將所有者更改為我們的用戶,然後對該文件進行任何我們想做的操作。

我們可以進行以下操作:
sudo chown [使用者] [檔案名稱]
在我們的範例中,由於 v3n0m 是我們登入時使用的用戶,我們將發出以下命令:
sudo chown v3n0m 文件
v3n0m 是我們的用戶名。在你的情況下,它就是你的用戶名。
現在我們可以對檔案執行 cat 指令了,因為它不會再報錯了。 權限被拒絕.
3. 賦予執法權
在 Zsh 或其他 shell 中,您可以使用 `./` 加上檔案名稱來執行檔案。但是,如果該檔案沒有設定執行權限,您將收到「zsh: 權限被拒絕」的錯誤。

假設我們要執行一個名為 script1 的腳本。我們在終端機中輸入 ./script1,然後得到以下錯誤:
我們執行 `ls -la` 指令來查看檔案的權限。正如你所看到的,該檔案的執行權限未被設定。
解決方法很簡單:給文件添加執行權限。
我們發出簡單的命令

chmod +x script1
他將添加“chmod + x` 執行 على 文件權限(所有者、群組和其他使用者)。
現在我們可以透過輸入 ` 來運行該檔案作為程式。./script1沒有任何錯誤。
如果您在 Linux 系統上遇到此錯誤,它應該會自動解決;但是,如果您在 macOS 或 Gradle 系統上遇到此錯誤,請繼續閱讀本文。
編輯您的 zshrc 檔案(macOS)
一些 macOS 用戶報告稱,當他們不在要執行命令的目錄中時,使用 `zsh` 會出現問題。
如果你遇到類似的問題,解決方法很簡單。
你需要編輯檔案`.zshrc指南主頁/用戶名你自己修改並添加到文件末尾。
設定選項 auto_cd
這將啟用“自動 cd`在`zsh`中。
編輯文件.zshrc`,您可以使用任何圖形文字編輯器或命令列文字編輯器,例如 `vim` 或 `vi`。
使用 CHMOD 指令設定權限(Gradle)
如果您正在使用 Gradle,但 `gradlew` 檔案沒有正確的權限,則可能會出現「zsh: 權限被拒絕」錯誤。
要修復此類錯誤,您需要設定 gradlew 的權限設定正確。
你可以在終端機中輸入這條命令,
chmod 755 gradlew
這將使文件“格拉德盧這是可行的,錯誤將會被修正。
或者,您也可以直接輸入以下命令:chmod +x gradlew`
這將使 `gradlew` 檔案變為可執行檔。
如果以上方法都無法解決您的問題,請在下方留言,我們的技術人員將盡快為您提供協助。
評論被關閉。