GNU/Linux >> Tutoriels Linux >  >> Linux

Création d'une variable à l'aide d'une valeur de variable dans le cadre d'un nouveau nom de variable ?

J'essaie de créer une nouvelle variable en utilisant la valeur d'une variable existante dans le cadre du nom de la variable.

filemsg"$word1"=" "

J'ai aussi essayé

filemsg$word1=" "

filemsg${word1}=" "

à toutes les tentatives, j'obtiens ce qui suit lorsque cette ligne s'exécute,

cicserrors.sh[45]: filemsgCICS= : not found [No such file or directory]

Réponse acceptée :

Utilisez eval :

filemsgCICS=foo
word1=CICS
eval "echo "$filemsg$word1"" # => foo
eval "filemsg$word1=bar"
echo "$filemsgCICS" # => bar

mais réfléchissez-y à deux fois si vous en avez vraiment besoin de cette façon.

Une autre façon en ksh93 est d'utiliser namerefs :

word1=CICS
nameref v=filemsg$word1
v="xxx" 
echo "$filemsgCICS" # => xxx

Pour des hacks encore plus méchants comme celui-ci, regardez ici.


Linux
  1. Création d'un fichier CSR de certificat Web.

  2. Format des cookies lors de l'utilisation de Wget ?

  3. Créer de nombreux répertoires à l'aide de Mkdir ?

  4. Écran Gnu :changement de nom de la nouvelle fenêtre ?

  5. Java Impossible de se connecter au serveur de fenêtres X11 en utilisant 'localhost:10.0' comme valeur de la variable DISPLAY

Configurer la connexion à la base de données à l'aide de la variable d'environnement dans les rails

Utiliser "${a:-b}" pour l'affectation de variables dans les scripts ?

Créer une base de données MySQL dans cPanel

Configurer un nouveau VPS

Comment extraire une valeur (dans une ligne et une colonne spécifique) d'un fichier et l'affecter à une nouvelle variable

Trouver un fichier correspondant à un certain modèle et donner ce nom de fichier comme valeur à une variable dans un script shell ?