РЕШЕНО
Я пытаюсь создать скрипт оболочки на моем сервере Linux Amazon-EC2, который запустит мой сервер Minecraft, но команда cd говорит, что не может найти каталог или файл, когда я пытаюсь перейти в каталог, в котором находится исполняемый файл сервера. Обратите внимание, что у меня практически нет опыта работы с скриптами оболочки любого рода. Должен ли он иметь дело с разрешениями в папке, в которой находится этот файл, или с самим файлом? Файл называется "startServer".
#!/bin/bash
cd /home/ec2-user/Minecraft
java -Xmx2048M -Xms2048M -jar minecraft_server.jar nogui
*Я не сохранил его с расширением файла. Стоит ли? Нужно ли?
решение1
Чтобы сделать скрипт исполняемым, необходимо изменить разрешения для скрипта так, чтобы он стал исполняемым.
Команда для изменения прав доступа в Linux или UNIX:чмод.
chmod +x ./name_of_your_script
Предоставлю текущему пользователю разрешение на выполнение скрипта.
#! в начале вашего скрипта указывает интерактивной оболочке, что скрипт должен интерпретироваться /bin/bash, поэтому вам на самом деле не нужно добавлять расширение к имени файла. Однако общепринятым соглашением является добавление .sh к скриптам оболочки.
решение2
Что именно означает сообщение об ошибке? Я предполагаю, что это:
cd: /Minecraft: No such file or directory
Это произойдет, если HOME не определено, а ~ расширяется до пустой строки.
решение3
Для запуска скрипта потребуются права на выполнение; для этого перейдите в каталог, в котором он хранится, и используйте:
chmod u+rwx startServer
Я не думаю, что это ваша проблема. Попробуйте использовать полный путь к файлу minecraft_server.jar вместо cd:
#!/bin/bash
java -Xmx2048M -Xms2048M -jar /full/path/to/Minecraft/minecraft_server.jar nogui