Articulo de referencia

Punto (comando)

En un shell Unix , el punto final llamado comando de punto ( . ) es un comando que evalúa comandos en un archivo de computadora en el contexto de ejecución actual. [1] En el she...

En un shell Unix , el punto final llamado comando de punto ( . ) es un comando que evalúa comandos en un archivo de computadora en el contexto de ejecución actual. [1] En el shell C , se proporciona una funcionalidad similar como sourcecomando, [2] y este nombre también se ve en los shells POSIX "extendidos". [3] [4]

El comando dot no debe confundirse con un archivo dot , que es un archivo oculto o directorio oculto prefijado con un punto . Tampoco debe confundirse con la ./scriptfilenotación para ejecutar comandos, que es simplemente una ruta relativa que apunta al directorio actual (anotada en Unix como un carácter '.', y generalmente fuera de la variable Path ).

Argumentos

El nombre del archivo es el primer argumento del comando punto . Cuando este argumento no contiene una barra , el shell buscará el archivo en todos los directorios definidos en la variable de entorno PATH . A diferencia de los comandos normales que también se encuentran en PATH, el archivo fuente no tiene que ser ejecutable . De lo contrario, el nombre del archivo se considera como una ruta simple al archivo. [1]

En varios shells "extendido", incluidos bash, [3] zsh [4] y ksh [5], se pueden especificar parámetros en un segundo argumento. Si no se especifican parámetros, el archivo fuente recibirá el conjunto de parámetros posicionales disponibles en el contexto actual. Si se especifican parámetros, el archivo fuente recibirá solo los parámetros especificados. En cualquier caso, el parámetro $0será el $0del contexto actual.

Usos

Dado que la ejecución del archivo fuente se realiza en el contexto de invocación, el entorno [nota 1] modificado dentro de la ejecución se aplica al proceso actual o al shell actual. Esto es muy diferente de los scripts ejecutados directamente por shebang o as sh foo.sh, que se ejecutan en un nuevo espacio de proceso separado, con un entorno separado.

Por lo tanto, el comando dot se puede utilizar para dividir un script grande en partes más pequeñas, lo que potencialmente permite un diseño modular . El shell también suele buscar archivos de perfil de usuario como .bashrcy al iniciar la sesión .profile.

source

sourcees un comando incorporado del shell que evalúa el archivo que sigue al comando, como una lista de comandos, ejecutados en el contexto actual. [6] Con frecuencia, el "contexto actual" es una ventana de terminal en la que el usuario escribe comandos durante una sesión interactiva.

El comando source se puede abreviar con un simple punto ( .) en Bash y shells similares de tipo POSIX. Sin embargo, esto no es aceptable en C shell , donde apareció el comando por primera vez.

Algunos scripts de Bash se deben ejecutar utilizando la source your-scriptsintaxis en lugar de ejecutarse como un comando ejecutable, por ejemplo, si contienen un comando de cambio de directorio ( cd) y el usuario desea que se dejen en ese directorio después de que se complete el script, o contienen un comando de exportación y el usuario desea modificar el entorno del shell actual. Otra situación de uso es cuando un archivo de script no tiene el permiso "execute" . Pasar el nombre del archivo de script al shell deseado ejecutará el script en un subshell , no en el contexto actual.

Notas

  1. ^ Consulte Entorno de ejecución de Shell en POSIX.1:2013.

Referencias

  1. ^ ab "POSIX.1:2013 Shell Command Language § dot" . Consultado el 23 de mayo de 2016 .
  2. ^ "Página de manual de Csh#comando" . Consultado el 23 de mayo de 2016 .
  3. ^ ab "Bash Reference Manual § Bourne Shell Builtins" . Consultado el 23 de mayo de 2016 .
  4. ^ ab "Comandos integrados de ZSH Shell" . Consultado el 23 de mayo de 2016 .
  5. ^ "página del manual de ksh". Oracle . Consultado el 23 de mayo de 2016 . + . nombre [arg ...]
  6. ^ "BASH BUILTIN COMMANDS", la página del manual de Linux para "source" en Bash-3.0. 20 de abril de 2004
  • Los tres usos diferentes del punto en Unix explicados
Obtenido de "https://es.wikipedia.org/w/index.php?title=Punto_(comando)&oldid=1232175978#Fuente"