haga doble clic para ejecutar el archivo .sh

haga doble clic para ejecutar el archivo .sh

GUI:
cambié los permisos de un archivo sh para poder leerlo, escribirlo y ejecutarlo. Hice doble clic en él, seleccioné ejecutar en Shell/terminal (lo que aparezca en inglés), pero no se ejecutó. Hice doble clic en él, seleccioné ejecutar, pero no se ejecutó.

Línea de comando:
bash *filename*lo ejecuta
sh *filename*lo ejecuta

El contenido del archivo es:

#!/bin/bash

# get dirsyncpro home
DIRSYNCPRO_HOME="$(dirname $0)"

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

Funciona en la computadora de esta persona:

http://www.knowliz.com/2008/08/how-to-installrun-sh-file-in-linux.html

¿Qué está sucediendo?

Respuesta1

Su prueba es incorrecta, debe poder ejecutarla sin llamar primero a otro Shell.

./my_little_script.sh

Y no

bash my_little_script.sh

También verifique que los permisos sean correctos.

chmod 755 my_little_script.sh

Respuesta2

Su problema es que cuando intenta ejecutar su script de shell haciendo doble clic en él, su sistema lo ejecutará de forma predeterminada en su directorio de inicio.

Al llegar a la fila

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

La DIRSYNCPRO_HOMEcarpeta no es la carpeta que esperaba, su archivo jar no se encuentra y la aplicación se detendrá silenciosamente. Creo que si codifica el valor DIRSYNPRO_HOMEdebería poder ejecutar su script de shell haciendo doble clic en él.

Respuesta3

En Ubuntu, la "Terminal" realmente no existe. En mi instalación (9.10) me sale esto:

El programa 'Terminal' no está instalado actualmente. Puedes instalarlo escribiendo: sudo apt-get install terminal.app Terminal: comando no encontrado

No estoy seguro de si ese es tu caso, pero si lo es, intenta cambiar la selección de "Termianl" a "gnome-terminal".

Respuesta4

El archivo Léame de dirsyncpro dice que debe ejecutarse mediante la línea de comandos en todos los sistemas operativos que no sean Windows. Estaba evitando ejecutar el archivo jar, pero no hay otra manera.

información relacionada