En primer lugar, debe invocar type .
, probablemente obtendrá algo como:
. is a shell builtin
Los componentes integrados son partes de su shell, no tienen sus propias páginas de manual. Sin embargo, algunos de ellos pueden parecer tenerlos, p. echo
está incorporado en Bash, pero lo más probable es que haya un ejecutable separado como /bin/echo
en su sistema y en este caso man echo
se refiere a este último . Estos dos echo
s probablemente no sean estrictamente equivalentes.
Su shell puede proporcionar información sobre cualquier componente a través de help
incorporado; prueba help help
, help type
y finalmente:
help .
Los componentes integrados también pueden aparecer en la página del manual de su shell. P.ej. (en mi Debian) Las funciones integradas de Bash están cubiertas directamente en man bash
, sin embargo, para los componentes integrados de Zsh man zsh
me dice que ejecute man zshbuiltins
. En general, los shells pueden o no explicar sus componentes.
Intenta usar man sh
o man bash
o la página de manual para cualquier shell que esté usando. (Tal vez man $SHELL
.)
Esto oficialmente no se llama el comando "apuntar", sino el source
dominio. Buscando la palabra source
puede ser útil.
por ejemplo, la página de manual de bash (busque "cada comando integrado") y encontrará rápidamente la documentación.
En cuanto a explicar el uso, puedo hacerlo aquí mismo. Me referiré a esto como el source
comando, reconociendo que se puede abreviar a solo un punto cuando está usando algunos shells, y con algunos shells es posible que ese comando deba ser (porque se puede reconocer el punto pero la palabra completa source
podría no serlo).
Si usa el source
comando, su shell leerá cada línea del archivo de script e intentará ejecutarlo. Necesita permisos de "lectura" en el archivo. (No importa si tiene permisos de "ejecución"). Si modifica una variable, es probable que afecte su shell actual.
Si, por otro lado, solo intenta ejecutar el archivo, entonces su shell le pedirá al sistema operativo que se ocupe de esta solicitud. Esto requerirá permisos de "ejecución". (En algunos sistemas, como OpenBSD, no necesitará permisos de "lectura" para esto. En otros sistemas, incluidas muchas variaciones de Unix, los necesitará). Es posible que el archivo deba comenzar con un encabezado apropiado (por ejemplo, #!/bin/sh
) para que el sistema operativo reconozca que se trata de un archivo de script. El sistema operativo ejecutará una copia del shell solicitado y le indicará que ejecute el contenido del script. Si se cambia el entorno de shell (por ejemplo, una variable obtiene un nuevo valor, se cambia el directorio de trabajo (con cd
), se redirige un descriptor de archivo (con exec
), etc.), afectará solo al subshell que se llamó para el script y no puede modificar el entorno en el shell principal que llamó al archivo de script.
Nadie más lo ha mencionado, ya que a menudo se olvida.
Tu mayor pista vendría del útil comando whatis
.
[email protected] ~ $ whatis .
builtins (1) - bash built-in commands, see bash(1)
[email protected] ~ $ whatis source
builtins (1) - bash built-in commands, see bash(1)
[email protected] ~ $ whatis bash
bash (1) - GNU Bourne-Again SHell
[email protected] ~ $ whatis lynx
lynx (1) - a general purpose distributed information browser for the World Wide Web
[email protected] ~ $ whatis linux
linux: nothing appropriate.
[email protected] ~ $ whatis whatis
whatis (1) - display one-line manual page descriptions
EDITAR:
Algunas personas han señalado en los comentarios que esto no está en algunas distribuciones, tal vez sea un paquete instalable, o habilitado de alguna manera, lo tenía por defecto en gentoo;)
Incluye el maravilloso which, que le dice a qué ejecutable se llama, y whereis, que le brinda todas las rutas a un ejecutable que usted nombra, y sus páginas man (si existe en múltiples rutas).