.drill [through]
<"var1,var2,var3"|$EnvVar|-r[p] Register>
[gr[ouped by] "{}"]
[sep[arated by] ","]
[exec] "Command $1 $2"
.drill 명령을 사용하여 명령을 반복하고 일련 값의 각 구성원에 대해
명령을 한 번 실행할 수 있습니다. 명령행에 값을 지정하거나
환경 변수 또는 레지스터에서 값을 가져올 수 있습니다. 시스템은 .drill 명령을 실행할 때
시스템은 .drill 구문을 사용하여 일련의 명령행을 생성하고 실행을 위해 에이전트로 보냅니다.
예를 들어,
.drill "A,B,C,D" "echo value $1"
명령은 다음 명령을 작성합니다.
echo value A
echo value B
echo value C
echo value D
그룹화
값을 그룹화하고 $
n
구문을 사용하여
각 그룹의 다중 값을 참조할 수 있습니다. $1은 그룹의 첫 번째 값을 참조하고
$2는 그룹의 두 번째 값을 참조합니다. 예를 들어,
.drill
through "(A,B,C,D,E),(B,C,D,E,F),(C,D,E,F,G)" grouped by "()" separated by
"," exec "echo 1[$1] 2[$2] 3[$3] 4[$4] 5[$5]"는 다음 명령을 작성합니다.
echo 1[A] 2[B] 3[C] 4[D] 5[E]
echo 1[B] 2[C] 3[D] 4[E] 5[F]
echo 1[C] 2[D] 3[E] 4[F] 5[G]
참고: 기본 그룹화 문자는
없습니다. 기본 구분 기호인 쉼표가 있습니다.
grouped by를 지정하지 않은 경우,
시스템은 제공된 값을 구분 기호로 분리된 것으로 인식하고
각각을 문자열 단일 값으로 간주합니다. 예를 들어,
.drill "(A,B),(C,D)"
"echo $1 $2" 명령은 다음 명령으로 해석됩니다.
echo (A 2
echo B) 2
echo (C 2
echo D) 2
데이터 소스
.drill 명령이 루프 통과 데이터를 가져오는 위치에 대한
여러 옵션이 있습니다. 명령의 첫 번째 매개변수는
데이터 소스입니다. 선택적 명령 단어인
"through"를 포함시켜 데이터 소스를 표시할 수 있습니다.
- 다음 명령에서와 같이 명령행에
one, two, three 값을 반복하는 데이터를 명시적으로 나열할 수 있습니다.
.drill through "one,two,three" exec "echo $1"
- 환경 변수에서 데이터를 가져올 수 있습니다. 다음 명령은 FILENAMES 환경 변수가 쉼표로 분리된
파일 목록이라고 가정하며 DOS 명령을 사용하여 목록의 파일을 모두 삭제합니다.
.drill through $FILENAMES exec "del $1"
- 레지스터 또는 프로젝트 레지스터에서 데이터를 가져올 수 있습니다. RegisterA에 쉼표로 분리된
파일 이름 목록이 포함된 경우, Linux 시스템에 실행된 다음 명령은 각 파일의 컨텐츠를 작성합니다.
.drill -r RegisterA exec "cat $1"
반면에
다음 예제는 동일한 작업을 수행하지만 프로젝트 레지스터를 사용합니다. .drill -rp ProjectRegisterA exec "cat $1"