strannik357753 1 Опубликовано 22 января, 2016 strannik357@ubuntu:~/se/gameserver$ ./GameServer_loop.sh bash: ./GameServer_loop.sh: /bin/bash^M: плохой интерпретатор: Нет такого файла или каталога сборка пв ласт #!/bin/bash # exit codes of GameServer: # 0 normal shutdown # 2 reboot attempt while :; do [ -f log/java0.log.0 ] && mv log/java0.log.0 "log/z_`date +%Y-%m-%d_%H-%M-%S`_java.log" [ -f log/stdout.log ] && mv log/stdout.log "log/z_`date +%Y-%m-%d_%H-%M-%S`_stdout.log" # java -server -Dfile.encoding=UTF-8 -Xincgc -Xms2048m -Xmx2048m -cp ./libs/smrt.jar:./libs/lameguard-1.9.5.jar:./libs/bsf.jar:./libs/bsh-2.0b4.jar:./libs/bonecp-0.8.0.jar:./libs/slf4j-api-1.6.3.jar:./libs/slf4j-nop-1.6.3.jar:./libs/commons-lang3-3.3.2.jar:./libs/commons-logging-1.1.jar:./libs/jython.jar:./libs/ecj.jar:./libs/java-engine.jar:./libs/commons-pool-1.5.4.jar:./libs/guava-17.0.jar:./libs/javolution-5.5.1.jar:./libs/mysql-connector-java-5.1.35-bin.jar:./libs/log4j-1.2.15.jar:./libs/it_mantaray.jar ru.akumu.smartguard.SmartGuard net.sf.l2j.gameserver.GameServer > log/stdout.log 2>&1 java -server -Dfile.encoding=UTF-8 -Xincgc -Xms1048m -Xmx3048m -cp./libs/* ru.akumu.smartguard.SmartGuard net.sf.l2j.gameserver.GameServer > log/stdout.log 2>&1 [ $? -ne 2 ] && break # /etc/init.d/mysql restart sleep 10 done #!/bin/bash err=1 until [ $err == 0 ]; do java -Dfile.encoding=UTF-8 -Xms128m -Xmx128m -jar it_mantaray.jar > log/stdout.log 2>&1 err=$? # /etc/init.d/mysql restart sleep 10; done Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Zetro 11 Опубликовано 22 января, 2016 Доброго дня. Данная ошибка "/bin/bash^M: плохой интерпретатор" обычно появляется из за внесения изменений в файл через виндовую (windows) машину. Суть проблемы в том, что под на платформе Windows редакторы добавляют символ «возврата каретки» CR/LF. Не все редакторы под Linux виндовый перенос строки умеют отображать, но он там есть, о чем свидетельствует сообщение об ошибке. В итоге в скрипте мы получаем, например первую строку вместо: #!/bin/sh Нечто подобное: #!/bin/shVM А ввиду того, что большинство редакторов в Linux эти символы не отображают, о чем я сказал выше, то и диагностировать проблему не легко. Но не стоит отчаиваться! Удаляем возврат каретки с использованием tr: cat name_old.sh | tr -d '\r' > name_new.sh Ненавистный Линуксу символ должен быть удален. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Odyssey 39 Опубликовано 22 января, 2016 считывания конца строк в UNIX поставь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты