我创建了两个变量
LOC="Testing/"
AVAILABLEDIR="Directory1/ Directory2/ Directory3/"
我想要做的是将“Directory1 /”仅附加到“Testing /”上,然后对结果值“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的末尾。
我真的不知道如何做到这一点,任何帮助都将不胜感激,谢谢。
答案 0 :(得分:2)
您需要不同的变量名称:
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