【问题标题】:Appending text from one variable onto another variable将文本从一个变量附加到另一个变量
【发布时间】:2015-01-01 02:27:32
【问题描述】:

我创建了两个变量

 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 的末尾。

我真的不知道如何做到这一点,任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: bash shell append


    【解决方案1】:

    你需要不同的变量名:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 2018-11-30
      • 2018-12-08
      • 1970-01-01
      • 2021-02-15
      • 1970-01-01
      相关资源
      最近更新 更多