Для этого не нужно ничего особенного, просто объявите переменную eth
как массив (и измените способ доступа к ней):
#!/bin/bash
ethcounter=$(ifconfig -a | egrep --count "eth[0-9]+")
ethindex0=$((ethcounter-1))
declare -a eth
echo ethindex0 = $ethindex0
for ((i=0; i<=ethindex0; i++))
do
eth[$i]=$(ifconfig eth$i)
echo "eth[$i]" = "${eth[$i]}"
done
Я также немного изменил ваш egrep
, потому что совпадают строки, содержащие слово «эфир». Конечно, возможно, потребуется нечто большее, но вы можете попробовать выяснить это самостоятельно.
Как справедливо заметил Иордан в комментариях: не предполагайте, что интерфейсы имеют последовательную нумерацию. Вам лучше использовать grep
все, что вы хотите, и обработать все значения, которые у вас есть, и сохранить их в ассоциативном массиве (индексированном именами интерфейсов, а не числами).
Дополнительное примечание: Интерфейс может иметь более одного IP-адреса. Это, а также прекращение поддержки ifconfig
может побудить вас использовать вместо него ip
, особенно ip addr
- поскольку этот случай там поддерживается.
Возможно, это проблема конфигурации плагина. Попробуйте добавить set laststatus=2
к вашему .vimrc
-, подробнее см. :https://github.com/itchyny/lightline.vim#introduction
кажется, что ты пропалcall vundle#begin()
:
Проверьте пример вhttps://github.com/VundleVim/Vundle.vim#quick-start
Keep Plugin commands between vundle#begin/end.