печать массива внутри команды echo - PullRequest
0 голосов
/ 05 марта 2020

как напечатать myArray в команде побочного эха?

declare -a myArray=([0]="AAA" [1]="AAC" [2]="AAG" [3]="AAU" [4]="ACA" [5]="ACC" [6]="ACG" [7]="ACU" [8]="AGA" [9]="AGC" [10]="AGG" [11]="AGU" [12]="AUA" [13]="AUC")

Я знаю, что это можно сделать следующим образом

echo ${myArray[@]}

или

for i in ${myArray[@]}
do
 echo $i
done

I хотите, чтобы внутри эха была команда из одной строки (как в python)

echo ${  for i in ${myArray[@]} }  # does not work

Ответы [ 3 ]

4 голосов
/ 05 марта 2020

Рассмотрим printf:

printf '%s\n' "${myArray[@]}"

Но не забывайте цитаты, иначе ваше расширение будет разбито на слова, когда вы этого не захотите!

3 голосов
/ 05 марта 2020

Используйте команду subsitution

echo "$(for i in ${myArray[@]}; do echo $i; done)"

Но я думаю, что вы действительно хотите:

printf "%s\n" "${myArray[@]}"
0 голосов
/ 05 марта 2020

Вы можете сделать это так:

for i in ${myArray[@]}; do  echo $i; done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...