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