92 votes

Dans un bash script que signifie un point suivi d'un espace puis d'un chemin ?

Je suis tombé sur cet exemple en essayant de monter un périphérique usb à l'intérieur d'un conteneur openvz et je n'ai jamais vu la construction dans la deuxième ligne avant. Pouvez-vous m'expliquer ce qu'elle signifie ?

#!/bin/bash
. /etc/vz/vz.conf

107voto

gniourf_gniourf Points 5285

Il s'agit d'un synonyme du module intégré source . Il exécuter des commandes à partir d'un fichier dans le Shell actuel tel que lu dans help source o help . .

Dans votre cas, le fichier /etc/vz/vz.conf sera exécuté (très probablement, il ne contient que des affectations de variables qui seront utilisées plus tard dans le script). Cela diffère de la simple exécution du fichier avec, par ex, /etc/vz/vz.conf de plusieurs façons : la plus évidente est que le fichier ne doit pas nécessairement être exécutable ; on pensera alors à l'exécuter avec bash /etc/vz/vz.conf mais cela ne l'exécutera que dans un processus enfant, et le script parent ne verra pas les modifications (par exemple, des variables) que l'enfant fait.

Exemple :

$ # Create a file testfile that contains a variable assignment:
$ echo "a=hello" > testfile
$ # Check that the variable expands to nothing:
$ echo "$a"

$ # Good. Now execute the file testfile with bash
$ bash testfile
$ # Check that the variable a still expands to nothing:
$ echo "$a"

$ # Now _source_ the file testfile:
$ . testfile
$ # Now check the value of the variable a:
$ echo "$a"
hello
$

J'espère que cela vous aidera.

5voto

Sureshkumar Points 59

Lorsqu'un script est exécuté en utilisant `source', il s'exécute dans le script existant, toutes les variables créées ou modifiées par le script resteront disponibles après la fin du script.

Syntaxe . nom de fichier [arguments]

  source filename [arguments]

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X