我可以摆脱吗eval
这里?我正在尝试设置$current_database
由用户输入确定的适当变量(国家和操作)
# User input
country="es"
action="sales"
# Possible variables for current_database
final_es_sales_path="blahblah/es/sales.csv"
final_en_support_path="yadayada/en/support.csv"
final_it_inventory_path="humhum/it/inventory.csv"
...
current_database=$(eval echo \${final_${country}_${action}_path})
您可以使用关联数组,连接两个变量的值。例如:
declare -A databases
# initialization
databases["es:sales"]="blahblah/es/sales.csv"
databases["en:support"]="yadayada/en/support.csv"
然后,您可以通过以下方式获取数据库:
echo ${databases["${country}:${action}"]}
这样做的优点是仅由一个变量收集数据库名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)