ARRAY - 사용자 입력을 받아들이고 배열에서 해당 선택 항목을 출력합니다.

ARRAY - 사용자 입력을 받아들이고 배열에서 해당 선택 항목을 출력합니다.

저는 약 10개 요소의 배열을 포함하는 스크립트를 작성하고 있습니다. 내가 해야 할 일은 스크립트가 사용자로부터 최소 0개의 요소와 최대 10개의 (배열) 요소를 받아들이고 해당 배열 요소가 말하는 모든 작업을 수행하는 것입니다.


대량 -

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

그러면 스크립트는 다음과 같은 입력을 읽습니다.

read -a array0

그러다가 그런 일이 -

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

출력은 다음과 같아야 합니다.

Type the elements - 1 4 2

Foo
*unset BAR_FLAG
*export CCACHE=true*

하지만 안타깝게도 저는 그렇게 할 수 없습니다. for/do 루프에 오류가 있어야 합니다.

누구든지 도움을 줄 수 있다면...

답변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

용법:script.sh

배열의 첫 번째 인덱스는 입니다 0.

관련 정보