Terminalfout: zsh: toestemming geweigerd: ./startup.sh

Ik voer een opdracht uit ./startup.sh nginx:starten ik krijg deze foutmelding zsh: permission denied: ./startup.shwaarom kan dit gebeuren?


Antwoord 1, autoriteit 100%

Zorg ervoor dat u het de uitvoeringstoestemming geeft.

cd ~/the/script/folder
chmod +x ./startup.sh

Dit geeft exec toestemming aan gebruiker, groep en anderen, dus pas op voor mogelijke beveiligingsproblemen. Om toestemming te beperken tot een enkele toegangsklasse, kunt u het volgende gebruiken:

chmod u+x ./startup.sh

Hiermee wordt alleen aan de gebruiker exec-toestemming verleend

Voor referentie


Antwoord 2, autoriteit 11%

U kunt ook bash gebruiken:

bash startup.sh

Dan heeft u geen uitvoeringsmachtiging nodig.

In MacOS Catalina heeft Apple bash vervangen door zsh als standaardshell. Dit kan betekenen dat ze van plan zijn om bash in de toekomst te verwijderen, dus dit is misschien later geen optie, maar met Catalina werkt het nog steeds.


Antwoord 3, autoriteit 5%

Vanaf macOS Catalina,
Uw Mac gebruikt zsh als standaard login-shell en interactieve shell. Je kunt zsh ook als standaard instellen in eerdere versies van macOS.

Hoe u uw standaard shell kunt wijzigen
Of uw gebruikersaccount nu is geconfigureerd om zsh (aanbevolen), bash of een andere shell te gebruiken, u kunt de standaard shell wijzigen via Gebruikers & Groepsvoorkeuren of de opdrachtregel.

  1. Van gebruikers & Groepsvoorkeuren
  2. Kies Apple-menu  > Systeemvoorkeuren en klik vervolgens op Gebruikers & Groepen.
  3. Klik op het slotje en voer vervolgens uw accountnaam en wachtwoord in.
  4. Control-klik op uw gebruikersnaam in de lijst met gebruikers aan de linkerkant en kies Geavanceerde opties.
  5. Kies een shell in het menu “Inlogshell” en klik vervolgens op OK om de wijzigingen op te slaan.

Volg de link voor meer details – https://support.apple.com/en-in/ HT208050

Other episodes