come disabilitare l'espansione delle variabili quando si usa bash "eval"
-
27-10-2019 - |
Domanda
ciao ho il seguente file di proprietà (something.properties)
SERVER1_PROPERTY1=123
SERVER1_PROPERTY2=${SERVER1_PROPERTY1}/123
e il seguente script bash che recupera una delle proprietà:
#!/bin/bash
. something.properties
SRV="SERVER1"
eval PROPERTY2=\$${SRV}_PROPERTY2
echo $PROPERTY2
il risultato è:
123/123
ma voglio che sia
${SERVER1_PROPERTY1}/123
Come posso ottenere questo risultato?
Soluzione
L'espansione viene eseguita quando si genera il file (. something.properties
).
Scrivi SERVER1_PROPERTY2='${SERVER1_PROPERTY1}/123'
nei file delle proprietà per disabilitare l'espansione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow