Как назначить приложение на определенное рабочее пространство в XFCE? [duplicate]

La razón por la que necesita poner #!/bin/bashen la parte superior de cada secuencia de comandos es que lo está ejecutando como un proceso separado.

Cuando ejecuta un script como un nuevo proceso, el sistema operativo ve que es un archivo de texto (en lugar de un ejecutable binario ), y necesita saber qué intérprete ejecutar. Si no lo dice, el sistema operativo solo puede adivinar, usando su configuración predeterminada (que un administrador puede cambiar ). Entonces, la línea #!(además de agregar permisos ejecutables, por supuesto )convierte un archivo de texto simple en un ejecutable que se puede ejecutar directamente, con la confianza de que el sistema operativo sabe qué hacer con él.

Si desea eliminar la línea #!, sus opciones son:

  1. Ejecute el script directamente (como lo está haciendo ahora ), y espero que el intérprete predeterminado coincida con el script -probablemente esté seguro en la mayoría de los sistemas Linux,pero no portátil a otros sistemas (p. Solaris ), y se puede cambiar a cualquier cosa (¡Incluso podría configurarlo para que se ejecute vimen el archivo! ).

  2. Ejecute el script usando bash myscript.sh. Esto funciona bien, pero debe especificar la ruta al script y es complicado.

  3. Fuente el script usando . myscript.sh, que ejecuta el script dentro del proceso de interpretación actual (, es decir, no como un proceso secundario -). Pero es casi seguro que esto requerirá modificaciones en sus scripts y los hará menos modulares/reutilizables.

En los casos 2 y 3, el archivo no necesita (y no debería tener )permisos de ejecución, y darle un sufijo.sh(o.bash)es una buena idea.

Pero ninguna de esas opciones se ve bien para su proyecto, ya que dijo que desea mantener sus scripts modulares (=> independientes y autocontenidos -), por lo que debe mantener su línea #!/bin/bashen la parte superior de los guiones.

En su pregunta, también dijo que está siguiendo la filosofía Unix. Si eso es cierto, entonces debería aprender para qué es realmente la línea #!, ¡y seguir usándola en cada script ejecutable!

18
17.12.2011, 17:06
0 ответов

Теги

Похожие вопросы