Shell 특수 변수(Shell $#, $*, $@, $?, $) 사용
Shell 특수 변수 및 그 의미
변수
함의
$0
현재 스크립트의 파일 이름입니다.
$n(n≥1)
스크립트나 함수에 전달되는 매개 변수입니다.n은 몇 번째 매개 변수를 나타내는 숫자입니다.예를 들어, 첫 번째 매개변수는 $1, 두 번째 매개변수는 $2입니다.
$#
스크립트나 함수에 전달되는 매개 변수 개수입니다.
$*
스크립트나 함수에 전달되는 모든 매개 변수입니다.
$@
스크립트나 함수에 전달되는 모든 매개 변수입니다.\"\"큰따옴표가 포함된 경우 $@ 은 $* 와 약간 다르며,\"\"한 절에서 상세하게 설명하다.
$?
이전 명령의 종료 상태나 함수의 반환 값은 에서 확인할 수 있습니다.한 절에서 상세하게 설명하다.
$$
현재 셸 프로세스 ID입니다.셸 스크립트의 경우 이 스크립트가 있는 프로세스 ID입니다.
다음은 두 가지 예를 통해 보여 드리겠습니다.
1) 스크립트 파일에 매개 변수 전달
다음 코드를 작성하고test로 저장합니다.sh:
#!/bin/bash
echo "Process ID: $$"
echo "File Name: $0"
echo "First Parameter : $1"
echo "Second Parameter : $2"
echo "All parameters 1: $@"
echo "All parameters 2: $*"
echo "Total: $#"
테스트를 실행합니다.sh, 매개변수:[mozhiyan@localhost demo]$ . ./test.sh Shell Linux
Process ID: 5943
File Name: bash
First Parameter : Shell
Second Parameter : Linux
All parameters 1: Shell Linux
All parameters 2: Shell Linux
Total: 2
2) 함수에 매개 변수 전달
다음 코드를 작성하고test로 저장합니다.sh:
#!/bin/bash
#
function func(){
echo "Language: $1"
echo "URL: $2"
echo "First Parameter : $1"
echo "Second Parameter : $2"
echo "All parameters 1: $@"
echo "All parameters 2: $*"
echo "Total: $#"
}
#
func Java http://c.biancheng.net/java/
실행 결과:Language: Java
URL: Shell $* 과 $@ 의 차이점
First Parameter : Java
Second Parameter : Shell $?
All parameters 1: Java http://c.biancheng.net/java/
All parameters 2: Java http://c.biancheng.net/java/
Total: 2
셸 특수 변수 (Shell $#, $*, $@, $?, $$$) 의 사용에 관한 이 글을 소개합니다. 셸 특수 변수에 대한 더 많은 내용은 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shell alias 명령에 별칭을 설정하는 방법명령에 별명을 설정하면 명령의'작은 이름'으로 삼을 수 있지만, 이렇게 하는 것이 무슨 의미가 있습니까? 이때 별명이 작용할 수 있다.vim 명령의 별명을vi라고 정의하면 이후에 실행된vi 명령은 실제로vim 명령을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.