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


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

-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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.