Berechtigung beim Ausführen der sh-Datei verweigert

9

Ich versuche, mit einer sh-Datei einfach einen Bildschirm mit meiner Minecraft-Serverkonsole zu starten. Ich habe diese Datei mc.sh genannt. Ich habe eine andere sh-Datei im selben Verzeichnis wie mc.sh, die einwandfrei läuft.

Folgendes steht in mc.sh:

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

Folgendes befindet sich in der anderen sh-Datei:

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

Die Fehlermeldung, die ich bekomme, ist -bash: ./mc.sh: Permission denied. Die Berechtigungen für mc.shsind-rw-rw-r-- 1

Djm228
quelle
Setzen Sie 4 Leerzeichen vor die Codezeile und sie wird auch mit einem # korrekt formatiert;) Bitte zeigen Sie auch die Berechtigungen von "mc.sh" ( ls -l mc.shaus dem Verzeichnis) an.
Rinzwind
Sie können beginnen, indem Sie die Fehlermeldung und die Ausgabe von "ls -l * .sh" in das Verzeichnis einfügen, in dem Sie die Shell-Skripte haben. (30 Sekunden zu spät! 😊)
mgor

Antworten:

22

Für die Berechtigungen ist das Ausführungsbit nicht gesetzt, daher führt bash das Skript nicht aus. Sie können das Bit setzen und das Skript ausführen:

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

oder lassen Sie bash es für Sie ausführen:

bash mc.sh
NZD
quelle
-1

Sie können das Terminal öffnen (Strg + Alt + T drücken) und in das Zielverzeichnis wechseln:

cd / path_to_target

So erteilen Sie der Datei "Ihr_Dateiname" die Berechtigung zum Ausführen:

chmod + x your_file_name

Dipanshu Sehjal
quelle