De esta guía a la finalización de Bash , aprendemos que para que Bash realice la finalización automática, uno debe realizar . /etc/etc/bash_completion.d/foobar
( observe el espacio después.
) para que la finalización de Bash funcione.
$ /etc/bash_completion.d/ssh
bash: /etc/bash_completion.d/ssh: Permission denied
$ . /etc/bash_completion.d/ssh
$ ls -l /etc/bash_completion.d | grep ssh
-rw-r--r-- 1 root root 297 Jan 28 18:04 ssh
¿Es .
un atajo para el source
comando? Si no, entonces ¿qué es? Es imposible buscar en Google, man source
no devuelve nada apropos source
y info source
dar tanta información irrelevante que no puedo decir si lo que estoy buscando está ahí. ¿Cómo podría comenzar a RTFM para encontrar la respuesta a esta pregunta yo mismo?
bash
página del manual, ya que este es un comando integrado, busque la explicación de la fuente, es difícil pasarla por alto..
un atajo para el comando de origen?" - es realmente al revés:.
es el comando ysource
es el alias de compatibilidad (para compatibilidad concsh
). Tenga en cuenta quesource
no existe solo en el shell POSIX estándar de bourne.
.Respuestas:
Sí .es idéntico a la
source
función.Como siempre, la primera referencia es la
man bash
página del manual donde puede confirmar su conjetura inicial buscando/ source
es la primera referencia, pero un poco más adelante encontrará una sección Comandos incorporados de Shell
El hecho de que sea una función incorporada bash es la razón por la que la fuente no viene con su propia página de manual, por lo que falló a propósito.
fuente
man bash
, pero lo agregaré a mis técnicas de "probar antes de publicar". Parece que esa página me llevará meses revisar y comprender completamente, ¡me lo pasaré bien!man bash
? Estoy seguro de que si tengo un problema con elssh
comando que no me ayudará mucho. Es más la referencia de último recurso.help
, como enhelp source
ohelp .
Sus respuestas breves:
. absolute_path/mycommand
fuente el archivo de comandosmycommand
que se encuentra en el directorioabsolute_path/
. Para más referencias lea aquísource
son equivalentes.help
abash shell
sí mismo. Tendrá una respuesta para los comandos integrados.Algunas palabras más
A menudo, la forma más simple es también la más difícil de alcanzar: no pensamos que podemos preguntar
help
al shell en sí, cuando los comandos se definen internamente.Con
type .
ytype source
podemos notar que esos son comandos integrados .Una vez que lo sepamos,
help
podemos tener información rápida sobre ellos.El comando
help
sin parámetro del indicador nos da:Mientras tanto
help .
, además dehelp source
obtener la misma ayuda idéntica :"Lo obvio es lo que nunca se ve hasta que alguien lo expresa simplemente". K.Gibran
fuente
Este punto "." significa leer y ejecutar comandos del argumento del nombre de archivo en el contexto actual del shell. Es equivalente a la fuente. Este estilo es de Bourne Shell, y consulte http://ss64.com/bash/source.html
fuente