쉘 통과 매개 변수
$ n을: 우리는 스크립트에 매개 변수를 전달하는 쉘 스크립트의 구현에, 스크립트는 형식내에서 매개 변수를 사용 할 수 있습니다.N은 kokoko 그래서 스크립트를 실행하는 두 번째 파라미터 스크립트 파라미터 2의 제 실행 숫자 1을 나타내며
예
다음의 예는 우리가 $ 0 실행 파일의 이름입니다 세 스크립트에 매개 변수 및 출력을 전달합니다
#!/bin/bash # author:本教程 # url:www.w3write.com echo "Shell 传递参数实例!"; echo "执行的文件名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3";
다음과 같이 스크립트의 실행 권한을 설정하고 스크립트를 실행 출력은 :
$ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 执行的文件名:./test.sh 第一个参数为:1 第二个参数为:2 第三个参数为:3
또한, 특수 문자를 처리하기 위해 여러 매개 변수가 있습니다 :
매개 변수 처리 | 설명 |
---|---|
$ # | 파라미터의 개수는 스크립트에 전달 |
$ * | 하나의 문자열에서 스크립트에 전달 된 모든 매개 변수를 표시합니다. 이러한 ""와 "$의 *"로 "밀폐 된 케이스의 형태"모든 매개 변수의 $ 1 $ ko. 2 $ n "은 출력. |
$$ | 스크립트의 현재의 프로세스의 ID 번호가 실행 |
$! | 마지막으로, 프로세스는 백그라운드 ID 번호 실행 |
$ @ | * 동일로 $,하지만 당신은 인용 부호를 사용하고, 따옴표의 각 매개 변수를 반환 할 때. 이러한 ""와 "$의 @" "밀폐 된 케이스의 형태"$ 1 ""$ 2 "ko. 모든 매개 변수의"$ n "은 출력으로. |
$ - | 셸을 사용하여 현재 옵션 표시 명령을 설정 동일한 기능. |
$? | 마지막 명령의 종료 상태를 표시합니다. 0은 오류를 나타냅니다 및 기타 값은 오류를 나타냅니다. |
#!/bin/bash # author:本教程 # url:www.w3write.com echo "Shell 传递参数实例!"; echo "第一个参数为:$1"; echo "参数个数为:$#"; echo "传递的参数作为一个字符串显示:$*";
스크립트를 실행하여 다음과 같이 출력은 :
$ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 第一个参数为:1 参数个数为:3 传递的参数作为一个字符串显示:1 2 3
$ *와 $의 @ 차이 :
- 같은 점 : 모든 매개 변수에 대한 모든 참조.
- 차이 : 만 따옴표에 반영. 세 개의 매개 변수 1,2,3를 작성할 때 가정 스크립트가 실행 ",,"* "(매개 변수를 전달)"123 "에 해당하고,"@ "는"2 ""1 "에 해당 3 "(세 개의 매개 변수를 전달).
#!/bin/bash # author:本教程 # url:www.w3write.com echo "-- \$* 演示 ---" for i in "$*"; do echo $i done echo "-- \$@ 演示 ---" for i in "$@"; do echo $i done
스크립트를 실행하여 다음과 같이 출력은 :
$ chmod +x test.sh $ ./test.sh 1 2 3 -- $* 演示 --- 1 2 3 -- $@ 演示 --- 1 2 3