쉘 스크립트에서 매개변수 범위를 가져오는 이식 가능하거나 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];
}
' ${@:+"$@"}