comment lire les données d'un fichier dans un script shell


1

J'ai deux fichiers de script shell test1.sh et test2.sh . J'ai un autre fichier appelé translogs.txt .
Maintenant, je dois copier les valeurs de deux variables dans test1.sh dans translog.txt et les mêmes variables doivent être copiées dans les valeurs correspondantes dans test2.sh .

test1.sh

#!/bin/sh
ONE="000012"
TIME="2013-02-19 15:31:06"
echo -e "$ONE\n$TIME">translog.txt;

translog.txt

ONE="000012"
TIME="2013-02-19 15:31:06"

Mais ici, dans test2.sh , je veux que la même valeur que dans translog.txt soit affectée à la variable correspondante telle que ONE et TIME doivent avoir la même valeur que dans translog.txt.

test2.sh

#!/bin/sh
ONE="000012"
TIME="2013-02-19 15:31:06"

Est-ce que ce sont les seuls contenus de translog.txt ?
Dennis

@Dennis Oui, ils sont les seuls contenus
Rudra

Réponses:


1

Si vous voulez que le contenu de translog.txt ressemble réellement à votre exemple et que cela ne vous dérange pas de passer de dash à bash, vous pouvez utiliser source(voir Commandes intégrées du shell dans man bash ) pour exécuter simplement le contenu de translog.txt dans le shell actuel.

test1.sh:

#!/bin/bash
ONE="000012"
TIME="2013-02-19 15:31:06"
echo -e "ONE=\"$ONE\"\nTIME=\"$TIME\"">translog.txt;

test2.sh

#!/bin/bash
source translog.txt
echo "ONE:  $ONE"
echo "TIME: $TIME"

Tester

$ ./test1.sh
$ cat translog.txt 
ONE="000012"
TIME="2013-02-19 15:31:06"
$ ./test2.sh
ONE:  000012
TIME: 2013-02-19 15:31:06
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.