Crear ejecutable(bin) a partir de un script del shell

Imagen de srpyyy
0 puntos

Ante todo hola, es mi primer post y no sabia muy bien donde ponerlo. Espero ser claro en la explicación del problema, que es muy simple:

Tengo un script del shell que puedo ejecutar perfectamente desde consola en la carpeta en la que esta escribiendo ./scriptX pero quiero hacerme un acceso directo en el panel y añadirlo también a la carpeta /bin para ejecutarlo directamente en terminal o con el icono.

Debe de ser muy simple pero no se como hacerlo, me gustaría que si alguien da la solución me explicase paso a paso también como hay que hacer y el que por favor.

¡Muchas gracias a todos!

Imagen de razaAztk
+1
0
-1

Desde terminal:

1. Te vas al directorio donde se encuentra el script

$ cd DIRECTORIO

2. Copias el fichero a la ruta /bin (o cualquier otra que esté en la variable $PATH), debes de hacerlo con permisos de superusuario ya que /bin pertenece a root. Si el script aún no tiene permisos de ejecución, asignaselos.

$ chmod +x scriptX
$ sudo cp scrptX /bin/

3. Para el acceso directo, puedes crearte uno en el menú. Ve a Sistema->Preferencias->Menú y agregas un elemento nuevo en la sección que quieras. De comando le pones ya scriptX (ya que no necesitas especificar su path).

Saludos!

+1
0
-1

void hey(int x,int y)
{
if (x && y)
 printf("http://libertadhack.blogspot.com/");
else
 printf("http://libertadpunk.blogspot.com/");
}
Imagen de srpyyy
+1
0
-1

Gracias por la ayuda tio pero me falla al hacer eso... lo hice en el orden que dijiste... accedi al directorio, cambie permisos y copie con sudo. Tras esto intente arrancar desde un lugar cualquiera y me salio esto:

Exception in thread "main" java.lang.NoClassDefFoundError: processing/app/Base
Caused by: java.lang.ClassNotFoundException: processing.app.Base
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: processing.app.Base. Program will exit.

Eso intentando arrancar desde consola, desde mi directorio de usuario... a ver si podeis ayudarme....

+1
0
-1
Imagen de razaAztk
+1
0
-1

........... pero es un script de bash????? o que hongo?

Si es un script bash, agregale lo siguiente al principio (después de #!/bin/bash)

PATH_SCRIPT=$(dirname $(readlink $0))
cd $PATH_SCRIPT

Eso lo que hace es encontrar la ruda donde apunta el enlace simbólico y cambiar a dicha ruta.

Saludos!

+1
0
-1

void hey(int x,int y)
{
if (x && y)
 printf("http://libertadhack.blogspot.com/");
else
 printf("http://libertadpunk.blogspot.com/");
}