我遇到了一个关于bash脚本的奇怪问题。
我有两个脚本:vlan_menu和另一个network_menu。 network_menu来源vlan_menu并调用configure_v()。
在vlan_menu里面,我这样做:
function configure_v() {
TAG_V=66
str="team0."
newtag="$(echo ${str}${TAG_V})"
${SCRIPTS}/system_config -e ${newtag} ...
echo ${newtag} >&2
}
当我运行vlan_menu并打印$ {newtag}的值时,Isee: " team0.66" 这就是我想看到的。
network_menu:
source vlan_menu
configure_v;
当我运行network_menu时,echo的输出是: " team0。 66"
为什么会这样? 请帮忙。
答案 0 :(得分:2)
您应该使用更简单的表达式:
newtag="${str}${TAG_V}"