$1 대신 -c를 사용하도록 표준 DTT 스크립트 수정

$1 대신 -c를 사용하도록 표준 DTT 스크립트 수정

훌륭한 dtrace 프로그램이 많이 있으며, 그 중 일부는 PID를 추적하기 위해 PID를 전달해야 합니다. dtrace 스크립트에서 이 매개변수는 $1에 저장됩니다. 나머지 스크립트 논리는 동일하게 유지하면서 명령줄에서 $1을 $target 및 -c로 바꾸는 것이 가능합니까?

정말 생각보다 간단하죠?

답변1

$target예를 들어 스크립트에 변수를 채워야 합니다 target=$1. 단순히 바꾸는 것만으로는 충분하지 않으며 작동하지 않습니다.

관련 문서에서 무엇을 찾을 수 있는지 살펴보겠습니다.

위치 매개변수

명령줄에서 스크립트로 전달된 매개변수[1]:$0, $1, $2, $3 ...

$0는 스크립트 자체의 이름이고, $1는 첫 번째 매개변수이고, $2두 번째, $3세 번째 등입니다.[2]그 다음에는 $9매개변수를 대괄호로 묶어야 합니다(예: ) ${10}, ${11}, ${12}.

특수 변수$*그리고$@모든 위치 매개변수를 나타냅니다.

그러나 다음과 유사한 작업을 수행하여 스크립트에서 더 읽기 쉽게 만들 수 있습니다.

#!/bin/sh
target=$1

그러나 이는 변수/데이터를 중첩하는 것을 의미하며, 이는 코딩하는 대부분의 사람들이 나쁜 습관으로 간주합니다.

관련 정보