Linux Shell脚本:在脚本目录中动态查找文件夹并将其添加到数组中

时间:2018-06-21 20:55:09

标签: linux bash shell

我一直在尝试学习Linux shell,我想做的事情很简单:运行一个脚本,在该脚本中它会自动查找当前目录中的所有文件夹,并将这些文件夹名称动态添加到数组中。这是到目前为止我得到的:

#!/bin/bash

currdirectory="$(ls -d */ | sed 's/.$//')" #getting all the folders' names in a string without the '/' at the end
numberLines="$(ls -d */ | sed 's/.$//' | wc -l)" #count the number of output lines

FOLDER_NAMES=() #create the array

for (( i=1; i<=$numberLines; i++ ))
do  
   line="${$currdirectory | sed -n ${i}p}" #adding the output of a current i line to the variable line
   FOLDER_NAMES+=($line) #adding the element itself to the array
done

echo "FOLDER_NAMES: ${FOLDER_NAMES[*]}" #show array values

但是,它不起作用,数组中的所有元素都有所有的行,我不明白,因为如果我使用

ls -d */ | sed 's/.$//' | sed -n 3p  #3 for example

直接在外壳上有效。我可能在语法上犯了错误。

0 个答案:

没有答案