GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que `. /chemin/commande Faire ? (espace après le point, chemin absolu) ?

Cette question a déjà des réponses ici :Quelle est la signification d'un point devant une commande en shell ?

(6 réponses)
Fermé il y a 4 mois.

De ce guide à l'achèvement de Bash, nous apprenons que pour que Bash effectue l'auto-complétion, il faut exécuter . /etc/etc/bash_completion.d/foobar (notez l'espace après . ) pour que la complétion de Bash fonctionne.

$ /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

Est . un raccourci pour le source commande ? Si non, qu'est-ce que c'est ? Il est impossible de chercher sur Google, man source ne renvoie rien, et apropos source et info source donner tellement d'informations non pertinentes que je ne peux pas dire si ce que je cherche s'y trouve. Comment pourrais-je même commencer à RTFM pour trouver moi-même la réponse à cette question ?

Réponse acceptée :

Oui . est identique au source fonction.

Comme toujours, la première référence est le man bash page de manuel où vous pouvez confirmer votre supposition initiale en recherchant / source

…fonction shell ou script exécuté avec . ou sources…

est la première référence, mais un peu plus loin vous trouverez une section Shell Builtin Commands

. filename [arguments]
source filename [arguments]
Lit et exécute les commandes à partir de nom de fichier dans l'environnement shell actuel
et renvoie l'état de sortie de la dernière commande exécutée
à partir de nom de fichier. Si le nom de fichier ne contient pas de barre oblique, les noms de fichiers dans
PATH sont utilisés pour trouver le répertoire contenant le nom de fichier. Le fichier
recherché dans PATH n'a pas besoin d'être exécutable. Lorsque bash n'est pas en mode posix
, le répertoire courant est recherché si aucun fichier n'est trouvé dans PATH.
Si l'option sourcepath de la commande intégrée shopt est désactivée,
le PATH n'est pas cherché. Si des arguments sont fournis, ils deviennent
les paramètres positionnels lorsque filename est exécuté. Sinon, les
paramètres de position restent inchangés. Le statut de retour est le statut
de la dernière commande sortie dans le script (0 si aucune commande n'est
exécutée) et false si le nom de fichier n'est pas trouvé ou ne peut pas être lu.

Le fait qu'il s'agisse d'une fonction intégrée bash est la raison pour laquelle la source n'a pas sa propre page de manuel, c'est pourquoi à propos a échoué.

En relation :Convaincre apt-get *pas* d'utiliser la méthode IPv6 ?
Linux
  1. Que signifie rc dans les fichiers dot

  2. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

  3. Que signifie l'astérisque après un nom de fichier lorsque vous tapez `ls -l` ?

  4. Pour afficher le chemin source du montage lié pour le montage après la v2.25.2

  5. Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

Qu'est-ce que la commande source sous Linux et comment ça marche ?

Chemin absolu ou relatif sous Linux :quelle est la différence ?

que signifie -zxvf dans tar -zxvf <filename> ?

Que fait .cache ? Il consomme un énorme espace disque

Que fait la source /etc/network/interfaces.d/* en haut du fichier /etc/network/interfaces ?

Que signifie un point après les bits d'autorisation de fichier ?