반응형
특수 달러 기호 쉘 변수는 무엇입니까?
Bash에는 특별하고 일관된 의미를 갖는 여러 변수가있는 것으로 보입니다. 예를 들어
./myprogram &; echo $!
백그라운드로 처리 된 프로세스의 PID를 반환합니다 myprogram
. 나는 $?
현재 TTY라고 생각하는 다른 사람들을 알고 있습니다 . 다른 사람이 있습니까?
$1
,$2
,$3
, ...있는 위치 파라미터 ."$@"
모든 위치 매개 변수의 배열과 유사한 구조입니다{$1, $2, $3 ...}
."$*"
모든 위치 매개 변수의 IFS 확장입니다$1 $2 $3 ...
.$#
위치 매개 변수의 수입니다.$-
셸에 설정된 현재 옵션.$$
현재 쉘의 pid (서브 쉘 아님).$_
가장 최근 매개 변수 (또는 시작 직후 현재 셸을 시작하는 명령의 abs 경로).$IFS
(입력) 필드 구분 기호입니다.$?
가장 최근의 포 그라운드 파이프 라인 종료 상태입니다.$!
가장 최근의 백그라운드 명령의 PID입니다.$0
쉘 또는 쉘 스크립트의 이름입니다.
위의 대부분은 Bash Reference Manual의 Special Parameters 에서 찾을 수 있습니다 . 쉘에서 설정 한 모든 환경 변수 가 있습니다 .
포괄적 인 색인은 참조 설명서 변수 색인을 참조 하십시오 .
$_
마지막 명령의 마지막 인수$#
현재 스크립트에 전달 된 인수 수$*
/$@
문자열로 스크립트에 전달 된 인수 목록 / 구분 된 목록
내 머리 위로. Google for bash 특수 변수.
도와 줄 이해 $#
, $0
그리고 $1
, ..., $n
나는이 스크립트를 사용합니까 :
#!/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
반응형
'Program Tip' 카테고리의 다른 글
.NET에서 줄 바꿈으로 문자열을 분할하는 가장 쉬운 방법은 무엇입니까? (0) | 2020.09.29 |
---|---|
유닉스 타임 스탬프 문자열을 읽을 수있는 날짜로 변환 (0) | 2020.09.29 |
상대 경로에서 모듈 가져 오기 (0) | 2020.09.29 |
문자열이 유효한 URL인지 확인하는 가장 좋은 정규 표현식은 무엇입니까? (0) | 2020.09.29 |
정확히 8192 개 요소를 반복 할 때 내 프로그램이 느린 이유는 무엇입니까? (0) | 2020.09.29 |