변수 값을 대괄호 확장 시퀀스 값으로 전달하는 방법은 무엇입니까?

변수 값을 대괄호 확장 시퀀스 값으로 전달하는 방법은 무엇입니까?

코드 블록은 구체적으로 다음과 같습니다.

for n in {1..$PASSEDARGS}; do
      printf "%s\n" "$n"
done

다음 코드 블록은 작동하지 않지만 대신 {1..3}3이 스크립트에 전달된 인수 수인 값을 인쇄합니다.

프로그램 인쇄 매개변수를 만드는 방법은 무엇입니까 $n?

답변1

Bash의 C와 유사한 for 루프 구문을 사용하십시오.

for (( i = 1; i <= PASSEDARGS; ++i )); do
  printf "%s\n" "$i"
done

답변2

for n in $(seq $#); do
      printf "%s\n" "$n"
      eval echo argument at $n: \$$n
done

관련 정보