Ich habe ein seltsames Problem mit Bash-Skripten.Verkettung von Strings innerhalb von Funktionen
Ich habe zwei Skripts: vlan_menu und das andere network_menu. network_menu Quellen vlan_menu und ruft configure_v() auf.
Innen vlan_menu, ich dies tun:
function configure_v() {
TAG_V=66
str="team0."
newtag="$(echo ${str}${TAG_V})"
${SCRIPTS}/system_config -e ${newtag} ...
echo ${newtag} >&2
}
wenn ich vlan_menu und drucken den Wert von $ {} NEWTAG laufen, Isee: "team0.66" das ist, was ich sehen will.
network_menu:
source vlan_menu
configure_v;
Als ich network_menu, der Ausgang des Echos laufen soll: "team0 66"
Warum passiert das das? Bitte helfen.
Ihr Fehler nicht aus dem Snippet Sie gebucht haben. Wenn zwischen 'source vlan_menu' und' configure_v' ein Code dazwischen liegt, sollte dieser auch gepostet werden. (Siehe die Antwort, warum die Verwendung von * command-substitution * mit 'echo' zum Zuweisen einer verketteten Zeichenkette falsch ist - naja, zumindest völlig unnötig) –