이동하지 않고 쉘 스크립트에서 매개변수 범위를 얻는 이식 가능한/POSIX 방법

이동하지 않고 쉘 스크립트에서 매개변수 범위를 얻는 이식 가능한/POSIX 방법

쉘 스크립트에서 매개변수 범위를 가져오는 이식 가능하거나 POSIX 호환 방법을 찾았다고 생각했는데, 잊어버렸고 더 이상 찾을 수 없는 것 같습니다. 나는 그 구문이 or와 같다고 생각합니다 ${@:1}. 이 방법:${@:1:3}bash

  • n번째 매개변수 이후의 모든 매개변수를 얻을 수 있습니다.
  • n번째 매개변수부터 m번째 매개변수까지의 매개변수 범위로, 얻을 수 있는 범위의 길이를 제공합니다.
  • 사용되지 않습니다 shift.
  • 사용되지 않습니다 eval.
  • 사용되지 않습니다 $*.
  • \x00매개변수를 처리할 때 매개변수의 문자에는 제한이 없습니다( 제외).

뭐가 될수 있었는지? 내가 보고 있다고 생각하는 메서드가 실제로 표시되지 않는 경우 이식 가능/POSIX 호환이고 위 요구 사항을 충족하는 스크립트나 함수에 전달된 매개 변수 범위를 얻을 수 있는 방법이 있습니까?

답변1

AWKing이라면 이거인가요(질문을 잘 이해하지 못했다면 죄송합니다)?

awk '
  BEGIN{
    first=3;
    last=7;
    for(i=3;i<=7;i++)
      print ARGV[i];
  }
' ${@:+"$@"}

관련 정보