
GUI:
Я изменил права доступа к sh-файлу, чтобы иметь возможность читать, писать и выполнять его. Я дважды щелкнул по нему, выбрал «запустить в Shell/терминале» (в зависимости от того, что отображается на английском), но он не запустился. Я дважды щелкнул по нему, выбрал «запустить», но он не запустился.
Командная строка:
bash *filename*
запускает его
sh *filename*
запускает его
Содержимое файла:
#!/bin/bash
# get dirsyncpro home
DIRSYNCPRO_HOME="$(dirname $0)"
# start programm and pass any parameters
java -Xmx512M -jar "$DIRSYNCPRO_HOME/dirsyncpro.jar" $*
Работает на компьютере этого человека:
http://www.knowliz.com/2008/08/how-to-installrun-sh-file-in-linux.html
Что происходит?
решение1
Ваш тест неверен, вы должны иметь возможность запустить его без предварительного вызова другой оболочки.
./my_little_script.sh
И не
bash my_little_script.sh
Также дважды проверьте, что разрешения действительно правильные.
chmod 755 my_little_script.sh
решение2
Проблема в том, что когда вы пытаетесь запустить скрипт оболочки двойным щелчком, ваша система по умолчанию запускает его в вашем домашнем каталоге.
При прибытии на линию
# start programm and pass any parameters
java -Xmx512M -jar "$DIRSYNCPRO_HOME/dirsyncpro.jar" $*
Папка DIRSYNCPRO_HOME
не та, которую вы ожидаете, ваш jar-файл не найден, и приложение молча остановится. Я думаю, если вы жестко закодируете значение, DIRSYNPRO_HOME
вы сможете запустить свой скрипт оболочки двойным щелчком по нему.
решение3
В Ubuntu "Терминала" на самом деле не существует. На моей установке (9.10) я получаю это:
Программа 'Terminal' в данный момент не установлена. Вы можете установить ее, набрав: sudo apt-get install terminal.app Терминал: команда не найдена
Я не уверен, так ли это в вашем случае, но если это так, попробуйте изменить выбор с «Termianl» на «gnome-terminal».
решение4
В файле dirsyncpro readme говорится, что его необходимо запускать из командной строки во всех операционных системах, отличных от Windows. Я избегал запуска jar-файла, но другого пути нет.