É possível definir uma lista no terminal?

2

Como é permitido fazer a=5 ; echo $a , fiquei me perguntando se é possível ou não declarar listas e outras estruturas de dados (como tuplas, dicionários) no terminal?

E se sim, eles são mutáveis ou devem ser unset primeiro?

    
por user253956 05.05.2014 / 20:15

2 respostas

6

Você também pode usar array ; O método mais simples de criar uma variável de matriz é atribuir um valor a um dos seus índices:

TEST[0]=zero
TEST[1]=one
TEST[2]=two

ou, com:

TEST=(zero one two)

agora, você acessa da seguinte forma:

${TEST[index]}

ou seja

echo "First Index: ${TEST[0]}"

ou você pode acessar todos os itens em uma matriz de uma das seguintes maneiras:

${TEST[*]}
${TEST[@]}

Para mais ajuda, leia este guia útil

    
por girardengo 05.05.2014 / 20:24
1

É possível. Você pode usar listas e seu mutável.

Tente algo assim:

arr=(1 2 3)  
echo ${list}
echo ${list[1]}
arr[1]=4
echo ${list}
echo ${list[1]}
echo ${list} | xargs -n 1

E, para um dicionário, você precisará criar uma função hash.

Para saber como fazer isso: link

É fácil iterar em uma lista com xargs e você também pode adicionar testes de unidade ao seu script: link

    
por ayr-ton 05.05.2014 / 20:41