ARRAY- Aceita entrada e saída do usuário a escolha correspondente da matriz

0

Estou trabalhando em um script que tem uma matriz de cerca de 10 elementos. Tudo o que tenho que fazer é que o script aceite a entrada do usuário de no mínimo 0 elementos e no máximo 10 elementos (da matriz) e ele executará o que o elemento da matriz correspondente disser.

Exemplo

Matriz -

array0=( [1]=echo "Foo" [2]=export CCACHE=true [3]=export FOO_FLAG=true [4]=unset BAR_FLAG )

Em seguida, o script lerá entradas como -

read -a array0

E então algo como -

for i in ${array0[@]}
do
   access each element as $i. . .
done

A saída deve ser algo como -

Type the elements - 1 4 2

Foo
*unset BAR_FLAG
*export CCACHE=true*

Mas eu não sou capaz de fazer isso infelizmente. Deve haver algum erro no loop for / do.

Se alguém puder ajudar ...

    
por Chinmay Kunkikar 18.09.2015 / 10:24

1 resposta

1
#!/bin/bash

array0=('echo Foo' 'export CCACHE=true' 'export FOO_FLAG=true' 'unset BAR_FLAG')

echo -n "Enter the elements: "

read -e line

for index in $line;do
        ${array0[index]}
done

Uso: script.sh

O primeiro índice de uma matriz é 0 .

    
por 18.09.2015 / 12:36