![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
¡Hola!, Me ha basado en el uso debian GNU/linux durante unos años y recientemente han comenzado a usar shell scripts más complejos, tengo algunas preguntas que me han causado problema en los últimos días:
1: Cómo saber el nombre de archivo del script de shell actual? 2: ¿Cómo puedo ejecutar un programa / script desde otro directorio, pero hacerlo correr desde el directorio en el que vive, EX: ~ / script1.sh comienza ~ / randomdir/script2.sh me dirá que eso es significativo encontrar dependent.txt la bruja está en ~ / randomdir /? 3: Tengo un servidor LAMP corriendo en mi escritorio, me gustaría empezar qemu de una interfaz web, ¿cómo iniciar un programa de PHP / pyton /perl(Yo uso la mayoría de PHP), que funcionará en el escritorio? Gracias por su ayuda por adelantado. |
|
||||
|
El nombre actual del script se encuentra en $ 0, pero, básicamente, sólo te dice la ruta de acceso que el usuario escribió en el (o la forma en que resolvieron algunos herramienta), no necesariamente la ruta completa.
Si su script dependientes quiere cargar una biblioteca de un directorio, usted necesita el código de difícil el camino, o emplear a algunos heurística divino cómo se han invocado. $ 0 puede ser útil, pero si el guión está en el PATH del usuario, entonces usted necesita para empezar a adivinar. Tal vez la solución más sencilla es exigir al usuario establecer una variable de entorno a decir que la biblioteca se puede encontrar o ejecutar el script en un directorio (sí, no muy elegante). Generalmente usted no desea que los visitantes de la web puedan iniciar programas en el escritorio. Algunos programas se enfrenta la web hacen todo lo posible por conseguir un cliente X11 en un lugar donde pueda ser accionado por un script CGI, y no se queda bloqueado, y en ningún caso, ser capaz de tocar el sistema de archivos local o de otros recursos locales. Pero si usted está de acuerdo con las posibles consecuencias, el principal obstáculo es, probablemente, obtener xauth etc derribado hasta el punto de que su X11 es completamente inseguro, de modo que otro usuario pueda iniciar programas en la pantalla. Realmente es posible que no requieren más de xhost + localhost (después de poner su casco y sus guantes de goma sobre). (¿O quieres decir "ordenador" en lugar de "la sesión gráfica"?) Editado por última época; al 04-27-2008 06:57 PM.. Motivo: El que permite X11 de la web |
|
||||
|
Gracias por la rápida respuesta! HTTP sólo se puede acceder desde 127.0.0.1, así que el puerto Neway. Se ejecuta apace2 de mi usuario que me ayude a todos? Estoy tratando de evitar el uso de GTK + y el palo con lo que sé (PHP / Java Script / CSS / etc).
Última edición por wmantly; al 04-27-2008 07:05 PM.. Motivo: reformated puesto |
|
||||
|
Como escribí antes, el principal obstáculo es derribar las características de seguridad X11, incluso como a ti mismo, no se puede iniciar fácilmente un programa en otro período de sesiones hasta que haya xauth galletas etc creado (o discapacitados).
Hacerlo a partir de un script CGI es, probablemente, en ningún caso va a ser más fácil que hacerlo desde una sesión interactiva. Labor que a partir de la línea de comandos primero, luego ver si puede hacerlo correr desde el interior del servidor web. |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|