Shell Script (8): 매개 변수 전달

2083 단어
저작권 은 작가 의 소유 이 며, 어떠한 형식의 전재 도 작가 에 게 연락 하여 권한 을 수 여 받 고 출처 를 밝 혀 주 십시오.
       리 눅 스 명령 줄 에서 명령 을 사용 할 때 항상 인 자 를 따라 잡 습 니 다. 셸 스 크 립 트 가 명령 줄 의 인 자 를 받 을 수 있 도록 하 는 방법 을 소개 합 니 다.       스 크 립 트 에서 인 자 를 가 져 오 는 형식 은: $n 입 니 다.n 은 하나의 숫자 를 대표 합 니 다. 1 은 스 크 립 트 를 실행 하 는 첫 번 째 매개 변수 입 니 다. 2 는 스 크 립 트 를 실행 하 는 두 번 째 매개 변수 입 니 다. 이 를 통 해 유추 합 니 다. 특히 $0 은 실 행 된 스 크 립 트 파일 의 파일 이름 입 니 다.스 크 립 트 파일 의 이름 은 test. sh 입 니 다. 스 크 립 트 내용 은 다음 과 같 습 니 다.
#!/bin/bash
echo "      :$0";
echo "      :$1";
echo "      :$2";
echo "      :$3";

그리고 명령 행 에서 다음 명령 을 수행 합 니 다.
./test.sh good hi hello

그 다음 에 다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
      :./test.sh
      :good
      :hi
      :hello

       그 밖 에 파라미터 전달 과 관련 된 기호 도 있 는데 여기 서 그 중의 $# 、$*、 $@ 세 가지 기 호 를 소개 한다.       1. $# 의 역할: 스 크 립 트 에 전 달 된 매개 변수 개 수 를 가 져 옵 니 다.       2. $* 의 역할: 스 크 립 트 에 전 달 된 모든 인 자 를 하나의 문자열 로 표시 합 니 다.       3. $* 와 같 지만 사용 할 때 따옴표 를 추가 하고 따옴표 에서 모든 인 자 를 되 돌려 줍 니 다.       다음 사례 를 통 해 보 여 드 리 겠 습 니 다.
#!/bin/bash
echo "Shell       !";
echo "      :$1";

echo "     :$#";
echo "              :$*";

그리고 명령 행 에서 다음 명령 을 수행 합 니 다.
./test.sh 1 2 3

얻 은 결 과 는 다음 과 같다.
      :1
     :3
              :1 2 3

       다음은 실례 를 통 해 @ 을 구분 합 니 다. 스 크 립 트 내용 은 다음 과 같 습 니 다.
#!/bin/bash
echo "-- \$*    ---"
for i in "$*"; do
    echo $i
done

echo "-- \$@    ---"
for i in "$@"; do
    echo $i
done

그리고 명령 행 에 다음 명령 을 입력 하 십시오:
./test.sh 1 2 3

실행 결 과 는 다음 과 같 습 니 다.
-- $*    ---
1 2 3
-- $@    ---
1
2
3

관련 문서
http://www.runoob.com/linux/linux-shell-passing-arguments.html
이전 편: Shell Script (7): 순환 (for, while, until) 다음 편: python 3 pymy sql 을 통 해 my sql 데이터 베 이 스 를 조작 합 니 다.

좋은 웹페이지 즐겨찾기