web-dev-qa-db-fra.com

sh script - question sur une seule ligne

J'ai ce script bash:

#!/bin/sh -eux

. ./.env

Que fait la deuxième ligne?

Il semble impossible de google une telle syntaxe :)

3
caliph

Concernant le point:

. (opérateur source ou point)

Lisez et exécutez des commandes à partir de l'argument filename dans le contexte Shell actuel.

Syntaxe. nom de fichier [arguments]

  source filename [arguments]

source est synonyme de point/période '.' dans bash, mais pas dans POSIX sh, donc pour une compatibilité maximale, utilisez le point.

Et concernant

./.env

Il s'agit d'un fichier caché (commence par un point) appelé .env dans le répertoire courant (./)

Fondamentalement, cette commande source le fichier .env et à partir du nom de fichier, vous pouvez supposer qu'il recharge les variables d'environnement. C'est équivalent à

source ./.env
2
Rinzwind