9 votes

Comment inclure un fichier contenant des variables dans un script shell

J'ai beaucoup de scripts shell et je veux inclure un fichier contenant des variables dans ce shell

script?

Mes variables de script:

###################################################################################
ORACLE_LOGIN=login
ORACLE_PWD=pwd
CHEMIN_1="/home/"
CHEMIN_2="/scripts/"
LOG_FILE="$CHEMIN_1/max.log"
export ORACLE_SID=oracle_sid
###################################################################################

Mon script sh:

#!/bin/ksh
#set -x

# ==============   CHARGER LES VARIABLES ICI  ====================================
????

##################################################################
####                          Début                           ####
##################################################################

write "Début $0"  

$ORACLE_HOME/bin/sqlplus -s $ORACLE_LOGIN/$ORACLE_PWD@$ORACLE_SID <> $LOG_FILE 2>&1 
@$CHEMIN_2/sp_rep_alim_dia_date_max.sql
exit
EOF

write "Fin."

Merci.

16voto

ams Points 10312

Cela dépend du shell, mais l'une de ces deux options fonctionne généralement :

. var

ou

source var

Je ne suis pas sûr pour ksh, mais je suppose que les deux fonctionneraient.

5voto

mirabilos Points 1679
. ./nom_du_script_var

Cela signifie point + espace + point + barre oblique + nom de fichier (car l'utilitaire "point" a besoin d'un chemin absolu ou relatif vers votre script var).

2voto

glenn jackman Points 69748

Utilisez la commande . (point) pour sourcer le fichier

. var_script

Un note:

  • si le nom de fichier ne contient pas de slash alors bash va essayer de le trouver dans le $PATH.
  • si pas trouvé dans le PATH, le dossier actuel sera utilisé (sauf si bash est en mode POSIX).

Réf [à la commande .][source] dans le manuel.

Donc, si vous savez où il se trouve, utilisez un chemin relatif/absolu pour y accéder. [source]: https://www.gnu.org/software/bash/manual/bash.html#index-_002e

0voto

Arun Gupta Points 780

source var a fonctionné pour moi. ce lien Passer toutes les variables d'un script shell à un autre? a une bonne explication pour ce problème

// J'espère que cela vous aidera..

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X