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

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

훌륭한 dtrace 프로그램이 많이 있으며 그 중 일부는 PID를 추적하기 위해 PID를 전달해야 합니다. 인수가 $1에 저장되는 dtrace 스크립트 내부. cmdline에서 $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

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

관련 정보