
Можно ли cat элементы массива, которые являются текстовыми файлами, переданными в качестве входных данных? У меня есть что-то вроде этого:
array=("$@")
cat array[3]
Сначала я помещаю все свои аргументы (некоторые файлы.txt) в массив, чтобы обработать их позже, а затем, например, я хотел бы распечатать тело третьего файла (я знаю, что я мог бы легко использовать cat $3
).
решение1
Синтаксис для доступа к определенному элементу массива:
${var[index]}
где index
— выражение, результатом вычисления которого является целое число от нуля до длины массива минус 1 (индексы массива начинаются с bash
нуля).
Чтобы получить $3
из вашего массива, используйте ${array[2]}
, т.е.
cat <"${array[2]}"
Смотрите также
array[3]
В задании вы бы использовали :
array[3]=something
Это присвоит строку something
четвертому элементу массива.
Также связано с тем, что bash
массивы начинаются с нуля: