Shell 특수 변수(Shell $#, $*, $@, $?, $) 사용

2392 단어 Shell특수 변수
지난 절에서 우리는 위치 파라미터를 수신하는 데 사용되는 특수 변수인 $n에 대해 이야기했다.이 섹션에서는 $#, $*, $@, $?, $$$입니다.
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 $#, $*, $@, $?, $$$) 의 사용에 관한 이 글을 소개합니다. 셸 특수 변수에 대한 더 많은 내용은 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기