Bash 将一个变量中的文本追加到另一个变量中

Bash 将一个变量中的文本追加到另一个变量中,bash,shell,append,Bash,Shell,Append,我有两个变量 LOC="Testing/" AVAILABLEDIR="Directory1/ Directory2/ Directory3/" 我想做的是只在“Testing/”后面附加“Directory1/”,然后对结果值“Testing/Directory1/”执行一个函数 然后我只想将“Directory2/”附加到Testing/,并在其上执行相同的函数 然后,我只想将“Directory3/”附加到Testing/,并在其上执行相同的函数 变量将发生变化,我希望AVAILAB

我有两个变量

 LOC="Testing/"
 AVAILABLEDIR="Directory1/ Directory2/ Directory3/"
我想做的是只在“Testing/”后面附加“Directory1/”,然后对结果值“Testing/Directory1/”执行一个函数

然后我只想将“Directory2/”附加到Testing/,并在其上执行相同的函数

然后,我只想将“Directory3/”附加到Testing/,并在其上执行相同的函数

变量将发生变化,我希望AVAILABLEDIR的内容始终以这种方式附加到LOC上,以便可以对其执行相同的功能,而不管AVAILABLEDIR中列表的长度如何

for a in $AVAILABLEDIR; do
  LOC=$(echo "$LOC" | sed s/$/$AVAILABLEDIR//g)
  myfunction
done
这是我的尝试,但它所做的只是将字符“$AVAILABLEDIR”附加到变量LOC的末尾


我真的不知道该怎么做,如果有任何帮助,我们将不胜感激,谢谢。

您需要不同的变量名:

DIRBASE="Testing/"
AVAILABLEDIR="Directory1/ Directory2/ Directory3/"

for a in $AVAILABLEDIR; do
  LOC="$DIRBASE$a"
  myfunction
done
这有点简洁,以防目录名包含空格:

DIRBASE="Testing/"
AVAILABLEDIR=(Directory1/ Directory2/ Directory3/)

for a in "${AVAILABLEDIR[@]}"; do
   LOC="$DIRBASE$a"
   myfunction
done