다음 문제를 해결하기 위해 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