2

РЕШИТЬ

Я пытаюсь создать на моем сервере Linux Amazon-EC2 Linux сценарий оболочки, который запустит мой сервер Minecraft, но команда cd сообщает, что не может найти каталог или файл, когда я пытаюсь перейти в каталог, в котором находится исполняемый файл сервера. Пожалуйста, обратите внимание, что у меня почти нет опыта работы с любым другим сценарием оболочки. Должен ли он иметь права доступа к папке, в которой находится этот файл, или сам файл? Файл называется "startServer".

#!/bin/bash
cd /home/ec2-user/Minecraft
java -Xmx2048M -Xms2048M -jar minecraft_server.jar nogui

* Я не сохранил его с расширением файла. Нужно ли мне? Это должно быть?

3 ответа3

2

Чтобы сделать скрипт работоспособным, необходимо изменить разрешения для скрипта, чтобы он выполнялся.

Команда для изменения разрешений в Linux или UNIX - это chmod.

chmod +x ./name_of_your_script

Предоставит текущему пользователю разрешение на выполнение скрипта.

#! в начале вашего скрипта указывает интерактивной оболочке, что скрипт должен интерпретироваться /bin /bash, поэтому вам не нужно добавлять расширение к имени файла. Тем не менее, это общепринятое соглашение о добавлении .sh к сценариям оболочки.

0

Что именно является сообщением об ошибке? Я предполагаю, что это:

cd: /Minecraft: No such file or directory

Это произойдет, если HOME не определен и ~ развернут в пустую строку.

0

Скрипт должен иметь разрешения на выполнение, чтобы иметь возможность его запускать; Для этого cd в каталог сохраняется и используется:

chmod u+rwx startServer 

Я не думаю, что это ваша проблема, хотя. Попробуйте использовать полный путь к файлу minecraft_server.jar вместо использования cd:

#!/bin/bash
java -Xmx2048M -Xms2048M -jar /full/path/to/Minecraft/minecraft_server.jar nogui

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .