실수로 echo $$
명령줄에 뭔가를 입력했는데 오류 메시지 대신 5자리 숫자가 표시되었습니다. 다른 단말기에서 이것을 반복했는데 echo $$
매번 5자리 숫자가 나왔습니다. $$
숫자는 무엇을 의미하나요?
답변1
$$
현재 프로세스의 PID입니다.
다양한 용도의 추가 예는 다음과 같습니다.
$_
많은 기능에 대한 기본 매개변수입니다.
$.
마지막으로 읽은 파일 핸들의 현재 레코드 또는 줄 번호를 저장합니다. 읽기 전용이며 파일 핸들이 닫히면 0으로 재설정됩니다.
$/
입력 레코드 구분 기호를 저장합니다. 레코드 구분 기호는 일반적으로 개행 문자입니다. 그러나 $/가 빈 문자열로 설정되면 입력 파일에서 두 개 이상의 줄 바꿈이 하나로 처리됩니다.
$,
print() 함수의 출력 구분 기호입니다. 일반적으로 이 변수는 빈 문자열입니다. 그러나 매개변수 목록의 각 요소를 별도의 줄에 인쇄해야 하는 경우 $를 개행 문자로 설정하는 것이 유용할 수 있습니다.
$\
print() 함수에 전달된 인수에 보이지 않는 마지막 요소로 추가됩니다. 일반적으로 빈 문자열이지만 인쇄하는 모든 항목에 개행이나 다른 접미사를 추가하려는 경우 접미사를 $에 할당할 수 있습니다.
$
숫자 인쇄의 기본 형식입니다. 일반적으로 이 값은 %.20g으로 설정되지만 9장의 "예: 인쇄 재검토" 섹션에 설명된 형식 지정자를 사용하여 고유한 기본 형식을 지정할 수 있습니다.
$%
기본 파일 핸들의 현재 페이지 번호를 저장합니다. select()를 사용하여 기본 파일 핸들을 변경하면 $%는 새로 선택한 파일 핸들의 페이지 번호를 반영하도록 변경됩니다.
$=
기본 파일 핸들의 현재 페이지 길이를 저장합니다. 기본 파일 핸들을 변경하면 $=가 변경되어 새 파일 핸들의 페이지 길이를 반영합니다.
$-
인쇄할 남은 줄 수에 대한 기본 파일 핸들을 저장합니다. 기본 파일 핸들을 변경하면 $-가 변경되어 새 파일 핸들로 인쇄할 남은 줄 수를 반영합니다.
$~
기본 파일 핸들을 보유하는 기본 행 형식의 이름입니다. 일반적으로 파일 핸들의 이름과 같습니다.
$^
기본 파일 핸들을 보유하는 기본 헤더 형식의 이름입니다. 일반적으로 _TOP이 추가된 파일 핸들 이름과 같습니다.
$|
0이 아닌 경우 출력 버퍼는 각 write() 또는 print() 함수 후에 플러시됩니다. 일반적으로 0으로 설정합니다.
$?
마지막 파이프 닫기, 백틱 문자열 또는 system() 함수의 상태를 저장합니다.
$&
마지막으로 성공한 패턴 일치와 일치하는 문자열을 저장합니다.
$`
마지막으로 성공한 패턴 일치와 일치된 문자열보다 앞선 문자열을 저장합니다.
$'
마지막으로 성공한 패턴 일치와 일치하는 콘텐츠 뒤에 오는 문자열을 저장합니다.
$+
마지막으로 성공한 패턴 일치에서 마지막 괄호와 일치하는 문자열을 저장합니다. 예를 들어 /Fieldname: (.)|파일 이름: (.)/ && ($fName = $+); 두 가지 가능한 철자 중 어떤 철자가 사용되는지 모르더라도 필드 이름이 검색됩니다.
$*
^ 및 $ 패턴 앵커의 해석이 변경되었습니다. $*를 1로 설정하는 것은 /m 옵션과 정규식 일치 및 대체 연산자를 사용하는 것과 같습니다. 일반적으로 $*는 0과 같습니다.
$0
실행 중인 Perl 스크립트가 포함된 파일의 이름입니다.
$
이 변수 세트($1, $2, $3 등)는 정규식 패턴 메모리를 보유합니다. 패턴의 각 대괄호 세트는 대괄호로 묶인 구성 요소와 일치하는 문자열을 $ 변수 중 하나에 저장합니다.
$[
기본 배열 인덱스를 저장합니다. 일반적으로 0으로 설정됩니다. 대부분의 Perl 작성자는 정당한 이유 없이 이를 변경하지 말라고 조언합니다.
$]
사용 중인 Perl 버전을 식별하는 문자열이 포함되어 있습니다. 숫자로 사용되는 경우 버전 번호에 패치 수준을 더한 값을 1000으로 나눈 값과 같습니다.
$”
큰따옴표로 묶인 문자열에 배열 변수를 삽입할 때 목록 요소 사이에 사용되는 구분 기호입니다. 일반적으로 해당 값은 공백 문자입니다.
$;
다차원 배열 시뮬레이션을 위한 아래 첨자 구분 기호를 저장합니다. 그 사용은 이 책의 범위를 벗어납니다.
$!
숫자 컨텍스트에서 사용되는 경우 errno의 현재 값을 저장합니다. 문자열 컨텍스트에서 사용되면 errno와 관련된 오류 문자열이 저장됩니다.
$@
마지막 eval() 함수 호출의 구문 오류 메시지(있는 경우)를 저장합니다.
$<
이 UNIX 기반 변수는 현재 프로세스의 읽기 uid를 보유합니다.
$>
이 UNIX 기반 변수는 현재 프로세스의 유효 uid를 보유합니다.
$)
이 UNIX 기반 변수는 현재 프로세스의 읽기 GID를 보유합니다. 프로세스가 둘 이상의 그룹에 속하는 경우 $)는 공백으로 구분된 그룹 이름으로 구성된 문자열을 보유합니다.
$:
^ 보고 형식 문자가 단어 줄 바꿈을 수행할 때 단어를 끝내는 데 사용할 수 있는 문자로 구성된 문자열을 저장합니다. 일반적으로 문자열은 공백, 줄 바꿈 및 대시 문자로 구성됩니다.
$^D
디버그 플래그의 현재 값을 저장합니다. 더 많은 정보를 알고 싶습니다.
$^F
가장 큰 시스템 파일 설명 값을 저장합니다. 일반적으로 2로 설정됩니다. 이 변수의 사용은 이 책의 범위를 벗어납니다.
$^나는
-i 명령줄 옵션으로 지정된 내부 편집을 위해 백업 파일을 만드는 데 사용되는 파일 확장자를 저장합니다. 예를 들어 ".bak"와 같을 수 있습니다.
$^L
보고서 인쇄를 위해 페이지를 팝업하는 데 사용되는 문자열을 저장합니다.
$^P
이 변수는 디버거가 자체적으로 디버깅하지 않도록 지우는 내부 플래그입니다.
$^T
스크립트 실행이 시작된 시간을 초 단위로 저장합니다.
$^W
-w 명령줄 옵션의 현재 값을 저장합니다.
$^X
현재 스크립트를 실행하는 데 사용되는 Perl 인터프리터의 전체 경로 이름을 저장합니다.
원천: