Как назначить общее количество строк в файле переменной размера для массива в скрипте bash? - PullRequest
0 голосов
/ 14 октября 2018

Я пытался заставить что-то подобное работать какое-то время, но продолжаю сталкиваться с небольшим недостатком, который портит мой массив.

#! / Bin / bash

В общей сложностичетыре строки в этом файле репо

repofile=~/Home/Documents/repoKali

Я набираю это в командной строке

wc -l < $repofile

Я получаю следующий вывод

6

Но когда я набираю это

SIZE=$(wc -l < "$repofile")

я получаю это

6: команда не найдена

Я пытаюсь создать массив, размер которого равен числу строк в $ repofile.Я не уверен, почему команды работают вне назначения переменных, а не когда я присваиваю их размеру.Я имею в виду выходной меняется!или я просто что-то упустил?

Пожалуйста, помогите.Я пытаюсь сделать что-то вроде этого.

readarray -s $SIZE < $repofile

1 Ответ

0 голосов
/ 14 октября 2018

Вам не нужно инициализировать bash-массивы размером, просто поместите значения в массив.

Опция -s для readarray не для "size", она для "skip":

Опции: ...

-s count Отменить первые строки COUNT, прочитанные

В приглашении bash введите help readarray для всех деталей.


Эта ошибка 6: command not found указывает мне, что вы ставите пробел после знака =: пробелы для присваивания не допускаются

SIZE= $(wc -l < "$repofile")
#....^
...