|
Página 1 de 1
|
Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
Autor |
Mensaje |
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
Hola.
Os traigo un truco. Normalmente cuando creas un ejecutable en gambas o en C, para poderlo ejecutar le tienes que poner en el terminal lo siguiente, (en la carpeta que este el ejecutable):
$.\archivo_ejecutable
¿estais cansados de ponerle el .\ y de ejecutarlo en su carpeta???
Si es asi os digo un pequeño truco que he aprendido en el curso de programador de sistemas
Se trata de crear una nueva carpeta en vuestro usuario, llamada: bin.
Osea, si mi usuario es "uno", pues creas:
$mkdir /home/uno/bin
¿ok?
Ahora sales de tu cuenta o reinicias el ordenador.
Una vez echo esto (es para que coja ese cambio el sistema operativo), mueves el ejecutable , a la carpeta "bin".
Y ya esta, ya lo puedes ejecutar desde cualquier carpeta poniendo:
$archivo_ejecutable
como cualquier comando de gnu/linux....
Saludos...
Nota:
Si quereis saber el porque, echarle un vistazo a esta entrada: https://sites.google.com/site/fpopr...les-del-sistema
última edición por jsbsan el Domingo, 13 Marzo 2011, 06:12; editado 1 vez
|
#1 Domingo, 13 Marzo 2011, 06:10 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
perdona, pero para que eso funcione tienes que modificar el PATH y si quieres que ocurra de forma automática al iniciar el ordenador tendrás que poner esa modificacón en bashrc si usas bash o en profile si usas otra o en /etc/profile si lo quieres para todos (cosa absurda en este caso pero bueno)
Pero ya puestos a contar cositas hay otra cosita interesante. Como convertir una aplicación gambas en un demonio.
Como sabeis las aplicaciones las corren usuarios. El usuario se logea y luego ejecuta aplicaciones que funcionan de acuerdo al conjunto de privilegios que ese usuario tiene. Cuando el usuario se va los procesos que tenga lanzados se cierran.
Si lo convertis en un demonio entonces ya no depende de ningún usuario. Es el sistema quien lo inicia, lo reinicia o lo para. Para ello desde el punto de vista de gambas lo único que tenemos que hacer es que pongamos la propiedad application.daemon a true.
Si hacemos esto el directorio principal pasa a ser / en vez del user.home (porque ya no depende de ningún usuario). Además cualquier relación de parentesco con cualquier proceso del usuario se rompe. Ya no depende de usuario alguno.
La otra cosa a realizar es configurar linux para que se inicie de forma automática metiendo un enlace en /etc/init.d cosa que es bastante simple y que quizá un día de estos explique como funciona, pero vamos que hay mucha literatura por ahí de como hacer esto.
|
#2 Domingo, 13 Marzo 2011, 07:03 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
Soplo:
Citar:
perdona, pero para que eso funcione tienes que modificar el PATH y si quieres que ocurra de forma automática al iniciar el ordenador tendrás que poner esa modificacón en bashrc si usas bash o en profile si usas otra o en /etc/profile si lo quieres para todos (cosa absurda en este caso pero bueno)
En Ubuntu, no hace falta, el archivo .profile ya viene con esa modificacion "de fábrica":
En debian, no se como vendrá...
Saludos
última edición por jsbsan el Domingo, 13 Marzo 2011, 07:20; editado 1 vez
|
#3 Domingo, 13 Marzo 2011, 07:18 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
Julio, esto es de las primeras cosas que hacíamos en los tiempos de las consolas, que entonces era un peñazo de verdad lo del dichoso punto. La manera no es esa, es la que Soplo te dice.
Incluye en tu .profile lo siguiente
PATH="./:$PATH"
Con ello añades el dichoso ./ (que como todo el mundo sabe quiere decir "aquí donde estoy") en el camino de búsqueda de los ejecutables. De hecho al hacerlo así tienes dos ventajas: Te vale para cualquier directorio estés donde estés, no sólo para el /home/user/bin, y le das preferencia a los tuyos antes que a los del sistema, si es que se llaman igual.
Los demonios de Soplo, conejudos. Tomo nota y agradezco... Por cierto aquello de los rc de arranque -con sus S y sus K- y sus 6 niveles de levantar el sistema y demás, hoy día es esoterismo puro, me temo. Los nuevos usuarios me parece que no sospechan siquiera lo que se puede llegar a personalizar y configurar un sistema en ese aspecto.
Suerte.
última edición por shordi el Domingo, 13 Marzo 2011, 10:40; editado 1 vez
|
#4 Domingo, 13 Marzo 2011, 10:33 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
Shordi:
Citar: Te vale para cualquier directorio estés donde estés,no sólo para el /home/user/bin
Estas equivocado, si usas Ubuntu, el fichero .profile , ya lo tiene "predefinido". Solo hace falta crear la carpeta /bin/ en tu usuario, y grabar alli todos los ejecutables que generes.. Y tendras acceso al programa desde cualquier directorio.
Probarlo, como os digo, y os funciona....
Saludos
Nota: Me juego unas cervecitas, a que llevo razón...
última edición por jsbsan el Domingo, 13 Marzo 2011, 12:29; editado 1 vez
|
#5 Domingo, 13 Marzo 2011, 12:27 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
Que sí, Julio, que llevas razón. Pero eso te obliga a copiar los ejecutables en tales carpetas... ¿Y si tu ejecutable busca algo en la carpeta donde está? es algo común a mitad de un desarrollo. ¿Y si no estás en tu carpeta, sino en otro sitio?
Prueba lo que te digo y verás como todo lo que teclees en la línea de comandos te lo ejecuta si está en la carpeta donde estés. Sin necesidad de copiarlo a ningún sitio.
Suerte.
=================== No podemos regresar
|
#6 Domingo, 13 Marzo 2011, 22:12 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
debian, no se como vendrá...
Saludos
en debian viene asi el .profile
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Citar:
PATH="./:$PATH"
Con ello añades el dichoso ./ (que como todo el mundo sabe quiere decir "aquí donde estoy") en el camino de búsqueda de los ejecutables. De hecho al hacerlo así tienes dos ventajas: Te vale para cualquier directorio estés donde estés, no sólo para el /home/user/bin, y le das preferencia a los tuyos antes que a los del sistema, si es que se llaman igual.
el modificar el path por el punto para que los programas funcionen en cualquier directorio
parece buena idea pero por algo no viene asi por defecto
|
#7 Domingo, 13 Marzo 2011, 22:41 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
No viene así, supongo, porque puede suceder que realmente no sabes lo que hay en el directorio por defecto. La posibilidad de que se generen errores, supongo también, aumenta en caso de que alguien tenga la extraña costumbre de llamar a sus programas y scripts igual que los del sistema.
Fuera de eso no le veo más inconveniente. Ya digo que era una práctica corriente en los tiempos de las consolas de texto...
=================== No podemos regresar
|
#8 Lunes, 14 Marzo 2011, 09:29 |
|
|
Ayortano
|
Re: Truco: Hacer Que Un Programa Se Ejecute Como Un Comando De Gnu/linux
Pero Julio, los "comandos" , si no son funciones de bash <nombre de tu shell preferida>, son parte de coreutils. Es decir, también son programas.
Lo que haces aquí es que el directorio donde se encuentran tus ejecutables esté en la variable PATH.
P.D: Querella de debianitas y ubunteros. env-update && emerge solution.
última edición por Invitado el Lunes, 14 Marzo 2011, 18:32; editado 2 veces
|
#9 Lunes, 14 Marzo 2011, 14:25 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|