【发布时间】:2018-04-06 14:07:00
【问题描述】:
我试图通过在我的 DO DONE 语句中实现 IF THEN ELIF 语句来更改与 $i 的不同值相对应的特定变量值。我花了几个小时试图解决这个问题,但结果总是为campaign_data_id 和companion_id 重复相同的值。 IF THEN 之外的其他值确实可以正常工作。有人知道解决办法吗?
#!/bin/sh
for i in brand1 brand2 brand3 brand4 brand5 brand6
do
brand=$i
campaign_id="$brand"_version2
source_table=db_name."$brand"_table
if [ "$brand"=brand1 ]
then
campaign_data_id=2059
companion_id=000495
elif [ $brand=brand2 ]
then
campaign_data_id=2118
companion_id=004994
elif [ $brand==brand3 ]
then
campaign_data_id=2181
companion_id001224
elif [ $brand==brand4 ]
then
campaign_data_id=2061
companion_id=000973
elif [ $brand==brand5 ]
then
campaign_data_id=2131
companion_id=003453
elif [ $brand==brand6 ]
then
campaign_data_id=2113
companion_id=003453
else
echo SETTINGS NOT COMPLETE
fi
echo $brand $campaign_id $source_table $campaign_data_id $companion_id
done
这是输出(不正确)
brand1 brand1_version2 db_name.brand1_table 2059 000495
brand2 brand2_version2 db_name.brand2_table 2059 000495
brand3 brand3_version2 db_name.brand3_table 2059 000495
brand4 brand4_version2 db_name.brand4_table 2059 000495
brand5 brand5_version2 db_name.brand5_table 2059 000495
brand6 brand6_version2 db_name.brand6_table 2059 000495
【问题讨论】:
标签: unix for-loop if-statement do-loops