6

GUI:
Я изменил права доступа к файлу sh, чтобы я мог читать, записывать и выполнять его. Я дважды щелкнул по нему, выбрал запуск в оболочке / терминале (в зависимости от того, что отображается на английском языке), но он не запустился. Я дважды щелкнул по нему, выбрал запустить, но он не запустился.

Командная строка:
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

В чем дело?

4 ответа4

7

Ваш тест неверен, вы должны быть в состоянии запустить его без предварительного вызова другой оболочки.

./my_little_script.sh

И не

bash my_little_script.sh

Также дважды проверьте правильность разрешений.

chmod 755 my_little_script.sh
1

Ваша проблема в том, что когда вы пытаетесь запустить скрипт оболочки, дважды щелкнув по нему, ваша система по умолчанию запустит его в вашем домашнем каталоге.

При прибытии на линию

# start programm and pass any parameters
java -Xmx512M -jar "$DIRSYNCPRO_HOME/dirsyncpro.jar" $* 

Папка DIRSYNCPRO_HOME - это не та папка, которую вы ожидаете, ваш файл jar не найден, и приложение автоматически остановится. Я думаю, что если вы жестко закодируете значение DIRSYNPRO_HOME вы сможете запустить скрипт оболочки, дважды щелкнув по нему.

0

В Ubuntu "Терминал" на самом деле не существует. На моей установке (9.10) я получаю это:

Программа «Терминал» в данный момент не установлена. Вы можете установить его, набрав: sudo apt-get install Terminal.app Terminal: команда не найдена

Я не уверен, так ли это для вас, но если это так, попробуйте изменить выбор с "Termianl" на «gnome-терминал».

0

В файле readme dirsyncpro говорится, что он должен запускаться из командной строки во всех операционных системах, отличных от Windows. Я избегал запуска файла jar, но другого пути нет.

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