GNU/Linux >> Linux Esercitazione >  >> Linux

Creazione di una variabile utilizzando il valore della variabile come parte del nuovo nome della variabile?

Sto cercando di creare una nuova variabile utilizzando il valore di una variabile esistente come parte del nome della variabile.

filemsg"$word1"=" "

Ho anche provato

filemsg$word1=" "

filemsg${word1}=" "

in tutti i tentativi ottengo quanto segue quando viene eseguita quella riga,

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

Risposta accettata:

Usa eval :

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

ma pensaci due volte se ne hai davvero bisogno in questo modo.

Un altro modo in ksh93 è usare namerefs:

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

Per hack ancora più sgradevoli come quello guarda qui.


Linux
  1. Creazione di proxy Web SOCKS tramite SSH

  2. Utilizzando un riferimento a una variabile di stringa Bash in Sed?

  3. Apache – Creazione di un certificato SSL *.local?

  4. Formato dei cookie quando si utilizza Wget?

  5. Divisione di base usando variabile e intero?

Configura la connessione al database utilizzando la variabile di ambiente in Rails

Usare "${a:-b}" per l'assegnazione di variabili negli script?

Creazione di un database MySQL in cPanel

Configura un nuovo VPS

usando awk con le condizioni del valore della colonna

Come estrarre un valore (in una specifica riga e colonna) da un file e assegnarlo a una nuova variabile