2015-11-23 3 views
1

Предположим, что Pid активных процессов на моих машин 1000 и 2000 Я пытаюсь создать массив в Linux, например, чтоСоздание массива в Linux, используя Баш

Команда echo ${Pid_Current[0]} дает 1000 в выходе

команда echo ${Pid_Current[1]} дает 2000 на выходе

Вот мой код:

declare -a Pid_Current 

Pid_Current=$(ps -aF | tail -n +2 | awk '{print $2}') 

Howeve г, вместо желаемых результатов я объяснил выше, я получаю следующий результат:

echo ${Pid_Current[0]} дает 1000 2000 на выходе

echo ${Pid_Current[1]} ничего не дает в выходной

пожалуйста посоветуйте бы мне, какая часть моего кода это неверно?

ответ

1

В Баше присвоения массива осуществляется путем заключения выражения в скобках, поэтому использовать назначение массива вы должны написать:

Pid_Current=($(ps -aF | tail -n +2 | awk '{print $2}')) 

Без скобок результат выражения присваивается Pid_Current[0]

Смежные вопросы