반응형
특별한 달러 기호 셸 변수는 무엇입니까?
Bash에는 특별한 일관된 의미 값을 갖는 변수가 여러 개 있는 것으로 보입니다.예를 들어.
./myprogram &; echo $!
백그라운드된 프로세스의 PID를 반환합니다.myprogram
다른 사람을 알고 있습니다.$?
현재의 TTY라고 생각합니다.다른 이들이 있나요?
$1
,$2
,$3
, ...는 위치 파라미터입니다."$@"
는 모든 위치 파라미터의 배열과 같은 구성입니다.{$1, $2, $3 ...}
."$*"
모든 위치 파라미터의 IFS 확장입니다.$1 $2 $3 ...
.$#
는 위치 파라미터의 수입니다.$-
셸에 설정된 현재 옵션.$$
(서브셸이 아닌) 현재 셸의 pid.$_
최신 파라미터(또는 시작 후 즉시 현재 셸을 시작하는 명령어 abs 경로)$IFS
는 (입력) 필드 구분자입니다.$?
는 최신 전경 파이프라인 종료 상태입니다.$!
는 최신 background 명령어 PID 입니다.$0
는 셸 또는 셸 스크립트의 이름입니다.
위의 대부분은 Bash 참조 매뉴얼의 특수 매개 변수에서 찾을 수 있습니다.셸에 의해 설정된 모든 환경변수를 다음에 나타냅니다.
종합 인덱스는 참조 매뉴얼 변수 인덱스를 참조하십시오.
$_
마지막 명령어의 마지막 인수$#
현재 스크립트에 전달된 인수 수$*
/$@
문자열/구분 목록으로 스크립트에 전달된 인수 목록
머릿속에서 맴돌고 있어요.bash 특수 변수용 구글.
이해에 도움이 되다$#
,$0
그리고.$1
, ...,$n
do, 나는 다음 스크립트를 사용합니다.
#!/bin/bash
for ((i=0; i<=$#; i++)); do
echo "parameter $i --> ${!i}"
done
실행 시 대표적인 출력이 반환됩니다.
$ ./myparams.sh "hello" "how are you" "i am fine"
parameter 0 --> myparams.sh
parameter 1 --> hello
parameter 2 --> how are you
parameter 3 --> i am fine
몇 가지 예에 주의해 주십시오.$0에는 프로그램 이름뿐만 아니라 선행 경로도 포함되어 있을 수 있습니다.예를 들어 이 두 줄의 스크립트를 ./mytry.sh으로 저장하고 실행합니다.
#!/bin/bash
echo "parameter 0 --> $0" ; exit 0
출력:
parameter 0 --> ./mytry.sh
이는 Slackware 14.2를 통해 현재(2016년) 버전의 Bash에 대한 것입니다.
언급URL : https://stackoverflow.com/questions/5163144/what-are-the-special-dollar-sign-shell-variables
반응형
'programing' 카테고리의 다른 글
실행 중인 PowerShell 스크립트의 모든 환경 변수 표시 (0) | 2023.04.23 |
---|---|
Query CosmosDb - 배열에 배열의 항목이 포함되어 있습니다. (0) | 2023.04.23 |
테이블 이름 검색 (0) | 2023.04.23 |
NSLog에서 사용하는 "toString()"에 대한 Objective-C는 무엇입니까? (0) | 2023.04.23 |
WebForms UntruptiveValidationMode를 사용하려면 'jquery'를 위한 ScriptResourceMapping이 필요합니다.jquery(대문자와 소문자가 구분됨)라는 이름의 ScriptResourceMapping을 추가하십시오. (0) | 2023.04.23 |