Autorisation refusée lors de l'exécution du fichier sh

9

J'essaie d'utiliser un fichier sh pour démarrer facilement un écran avec ma console de serveur minecraft. J'ai nommé ce fichier mc.sh. J'ai un autre fichier sh dans le même répertoire que mc.sh qui fonctionne bien.

Voici ce qui se trouve dans mc.sh:

screen -S minecraft java -Xms1024M -Xmx1024M -jar spigot.jar nogui

Voici ce qui se trouve dans l'autre fichier sh:

#!/bin/sh    
java -Xms512M -Xmx1024M -XX:MaxPermSize=128M -jar spigot.jar

Le message d'erreur que je reçois est -bash: ./mc.sh: Permission denied. Les autorisations pour mc.shsont-rw-rw-r-- 1

Djm228
la source
Mettez 4 espaces devant la ligne de code et il se formatera correctement même avec un #;) Veuillez aussi montrer les permissions de "mc.sh" ( ls -l mc.shdepuis le répertoire).
Rinzwind
Vous pouvez commencer par ajouter le message d'erreur que vous obtenez, ainsi que la sortie de "ls -l * .sh" dans le répertoire où vous avez les scripts shell. (30 secondes de retard! 😊)
mgor

Réponses:

22

Les autorisations n'ont pas le bit d'exécution défini, donc bash n'exécutera pas le script. Vous pouvez définir le bit et exécuter le script:

chmod u+x mc.sh
./mc.sh

ou laissez bash l'exécuter pour vous:

bash mc.sh
NZD
la source
-1

Vous pouvez ouvrir le terminal (appuyez sur Ctrl + Alt + T) et cd dans le répertoire cible:

cd / path_to_target

Pour autoriser le fichier "your_file_name" à s'exécuter:

chmod + x votre_nom_fichier

Dipanshu Sehjal
la source