Odmowa dostępu podczas uruchamiania pliku sh

9

Próbuję użyć pliku sh, aby łatwo uruchomić ekran za pomocą konsoli serwera Minecraft. Nazwałem ten plik mc.sh. Mam inny plik sh w tym samym katalogu co mc.sh, który działa poprawnie.

Oto, co znajduje się w mc.sh:

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

Oto, co znajduje się w innym pliku sh:

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

Wyświetlany jest komunikat o błędzie -bash: ./mc.sh: Permission denied. Uprawnienia do mc.sh-rw-rw-r-- 1

Djm228
źródło
Umieść 4 spacje przed wierszem kodu, a sformatuje poprawnie nawet z #;) Pokaż także uprawnienia „mc.sh” ( ls -l mc.shz katalogu).
Rinzwind
Możesz zacząć od dodania otrzymanego komunikatu o błędzie, a także wyniku „ls -l * .sh” w katalogu, w którym znajdują się skrypty powłoki. (30 sekund spóźnienia! 😊)
mg lub

Odpowiedzi:

22

Uprawnienia nie mają ustawionego bitu wykonania, więc bash nie wykona skryptu. Możesz ustawić bit i wykonać skrypt:

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

lub pozwól bash wykonać to za Ciebie:

bash mc.sh
NZD
źródło
-1

Możesz otworzyć terminal (naciśnij Ctrl + Alt + T) i cd do katalogu docelowego:

cd / path_to_target

Aby zezwolić plikowi „twoja_nazwa_pliku” na wykonanie:

chmod + x nazwa_pliku

Dipanshu Sehjal
źródło