Bash 쉘 스크립트에서 세 개의 값을 통과하는 루프를 작성하는 방법

Bash 쉘 스크립트에서 세 개의 값을 통과하는 루프를 작성하는 방법

다음 문제를 해결하기 위해 bash를 사용하여 쉘 스크립트를 작성하려고 합니다.

세 개의 값(ABC)을 반복하고 각 값을 화면에 표시하는 루프를 작성합니다("for" 루프를 사용한 힌트).

나는 그것이 사실이라고 생각하지만 확실하지 않으므로 어떤 조언이라도 크게 감사하겠습니다.

For (( EXP1; EXP2; EXP3 ))
do
     command1
     command2
     command3
done

답변1

for i in Alpha Beta Charlie; do
  echo "$i"
done

당신은 그것이 필요하지도 eval않고 필요하지도 않습니다 ls.

또는 각 항목 뒤에 줄 바꿈을 추가하여 각 항목을 직접 인쇄할 수 있습니다.

printf '%s\n' Alpha Beta Charlie

eval않는 한 사용하지 마십시오 .반드시 해야 한다. (팁: 아주 정교하게 다루지 않는 한 절대 필요하지 않습니다.) eval필요 이상으로 사용하면 보안 허점이 생길 뿐입니다.


귀하의 원래 질문은 분명합니다.

세 개의 값(ABC)을 반복하고 각 값을 화면에 표시하는 루프를 작성합니다("for" 루프를 사용한 힌트).

그러나 귀하의 의견에 따르면 루프에서 일부 명령을 실행하고 싶을 수도 있습니다.

T exp 1 exp2 exp3 값을 실행하고 싶습니다.

실행하고 싶다면주문하다루프에서는 명령을 작성하고 루프 안에 넣습니다.

for i in {1..3}; do
  echo Hip Hip
  echo 'HOORAY!'
done

첫 번째 줄도 쉽게 구현할 수 for i in A B C; do있으며 동일한 작업을 수행합니다. $i루프의 어느 곳에서도 이 변수를 사용 하지 않지만 꼭 그럴 필요는 없습니다. 여전히 3번 실행됩니다.

답변2

이는 간단해야 합니다.

for i in A B C; do
    echo "$i"
done

관련 정보