Я пытаюсь написать функцию bash, которая будет перечислять каждый подкаталог и файл в текущем каталоге и индексировать их в массиве, затем он будет cd в нужный каталог, обратившись к этому индексу в массиве. Когда я повторяю массив в индексе 8, он выводит 0 [8]. почему он не выводит имя каталога?Использование индексированных элементов массива для выбора каталогов в bash
num=0
for dir in ./*
do
echo -n $num
echo -n ": "
echo $(basename $dir )
num=$(($num+1));
done
declare -a array=($(for i in {0..$num}; do echo 0; done))
for dir in ./*
do
for i in {0..$num};
do
if [ -z $array[$num] ]; then
$dir= basename $dir
$array[$num]= $num
fi
break
done
done
echo "Enter the directory number: "
read requested
cd "$array[$requested]"
'{0 .. $ num}' не работает в b зола, поскольку скобки будут расширены до параметров. – andlrc