ich eine Reihe von Variablen zu überprüfen, und eine Reihe von Standardwerten wie folgt:Überprüfen Sie, ob Variablen gesetzt sind, und Attribut einen Standard sonst
variables_to_check="name surname address"
variables_default_values="John Doe Paris"
Hier ist, was ich tun möchte:
- überprüfen sie, ob $ name gesetzt ist, wenn nicht, geben sie John als Wert
- überprüfen sie, ob $ Namen gesetzt ist, wenn nicht, geben Doe als Wert
- ... Hier
ist der aktuelle nicht-funktionierenden Code ich habe:
variables_to_check="name surname address"
variables_default_values="John Doe Paris"
i=0
for variable in $variables_to_check
do
((i++))
if [[ -z ${"$variable"+x} ]] #this line doesn't seem to work
#inspired from http://stackoverflow.com/questions/3601515
then
default=$(echo $variables_default_values | cut -d " " -f $i)
set_config $variable $default
declare "$variable=$default" #this doesn't seem to work either
#inspired from http://stackoverflow.com/questions/16553089
fi
done
Jede Hilfe willkommen wäre stark
Welche Version von 'bash' können Sie benutzen? – chepner
Ich laufe zur Zeit 'bash' Version' 4.3.30', aber das System wird auf dem neuesten Stand gehalten - das heißt, ich kann die neuste Version von 'bash' bei Bedarf verwenden – Magix
Siehe' $ {! Variable} 'unter Bash [Shell-Parameter-Erweiterungen] (https://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion). –