Я пытаюсь перечислить (ls) папку, используя ssh-ing на сервере. Есть ли команда для сохранения вывода в виде массива? - PullRequest
1 голос
/ 29 июля 2011

Я пытался использовать эту команду

array=`find ssh userName@Host ls Root/top/directory -type d`

но хранится только как одна переменная вместо массива.

Ответы [ 3 ]

2 голосов
/ 30 июля 2011

вы можете использовать нотацию MYARRAY=(elem1 elem2 elem3) для создания массива в bash.

Так будет:

array=($(ssh userName@Host find Root/top/directory -type d))
1 голос
/ 29 июля 2011

Разделите его с помощью awk или cut, а затем переберите переменную массива с целым числом. Поскольку ls печатает на новых строках, вы можете просто зацикливаться.

array=find ssh userName@Host ls Root/top/directory -type d
i=0
echo array | while read LINE;
do
myarray=${LINE[$i]}
i=$((i+1))
done
0 голосов
/ 29 июля 2011
...