3
#!/bin/bash

SUNDAY_MENU=面包
MONDAY_MENU=苹果

今天=星期一


ECHO "I want ${${TODAY}_MENU}" # 不起作用,替换错误

ECHO "I want ${`echo $TODAY`_MENU}" # 不起作用,替换错误

有任何想法吗 ?

4

2 回答 2

6

像这样使用变量间接

varname=${TODAY}_MENU
echo ${!varname}

但是,如果您使用的是 Bash 4 或更高版本,则最好使用关联数组

menu=([sunday]=bread [monday]=apples)
echo ${menu[$TODAY]}
于 2012-08-24T16:52:33.673 回答
0

我使用 eval 函数

#!/bin/bash

SUNDAY_MENU=BREAD
MONDAY_MENU=APPLES

TODAY=MONDAY

eval TODAY_MENU=\$\{${TODAY}_MENU\}

echo "I want ${TODAY_MENU}"
于 2012-08-24T17:49:28.733 回答