
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_HOME
carpeta 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_HOME
deberí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.