GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué significa `. /ruta/comando` ¿Hacer? (espacio después del punto, ruta absoluta)?

Esta pregunta ya tiene respuestas aquí :¿Cuál es el significado de un punto antes de un comando en shell?

(6 respuestas)
Cerrado hace 4 meses.

De esta guía para completar Bash, aprendemos que para que Bash realice el autocompletado, se debe ejecutar . /etc/etc/bash_completion.d/foobar (tenga en cuenta el espacio después de . ) para que funcione la finalización de Bash.

$ /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 la source comando? Si no, entonces ¿qué es? Es imposible buscar en Google, man source no devuelve nada, y apropos source y info source dan tanta información irrelevante que no puedo decir si lo que estoy buscando está ahí. ¿Cómo podría empezar a usar RTFM para encontrar la respuesta a esta pregunta yo mismo?

Respuesta aceptada:

. es idéntico al source función.

Como siempre, la primera referencia es man bash página del manual donde puede confirmar su suposición inicial buscando / source

…función de shell o script ejecutado con . o fuente…

es la primera referencia, pero un poco más adelante encontrará una sección Comandos integrados de Shell

. filename [arguments]
source filename [arguments]
Leer y ejecutar comandos de nombre de archivo en el entorno de shell actual
y devolver el estado de salida del último comando ejecutado
de nombre de archivo. Si el nombre de archivo no contiene una barra inclinada, los nombres de archivo en
PATH se usan para encontrar el directorio que contiene el nombre de archivo. El archivo
buscado en PATH no necesita ser ejecutable. Cuando bash no está en modo posix
, se busca en el directorio actual si no se encuentra ningún archivo en PATH.
Si la opción sourcepath para el comando integrado shopt está desactivada,
la RUTA no está buscado Si se proporciona algún argumento, se convierte en
los parámetros posicionales cuando se ejecuta filename. De lo contrario, los
parámetros posicionales no se modifican. El estado de retorno es el estado
del último comando que salió dentro del script (0 si no se ejecuta ningún comando
) y falso si no se encuentra el nombre del archivo o no se puede leer.

El hecho de que sea una función incorporada de bash es la razón por la cual la fuente no viene con su propia página de manual, razón por la cual falló a propósito.

Relacionado:¿Convencer a apt-get *no* de usar el método IPv6?
Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿En qué sistemas es diferente //foo/bar de /foo/bar?

  3. ¿Qué significa la tilde (~) al final de un nombre de archivo?

  4. ¿Qué significan P y E en la familia de llamadas Exec?

  5. ¿Qué significa un punto después de los bits de permiso del archivo?

¿Qué es el comando fuente en Linux y cómo funciona?

Ruta absoluta vs relativa en Linux:¿Cuál es la diferencia?

¿Qué hace .cache? Consume un gran espacio en disco

¿Qué hace source /etc/network/interfaces.d/* en la parte superior del archivo /etc/network/interfaces?

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?

¿Qué significa NT_STATUS_BAD_NETWORK_NAME en Samba?