Latest web development tutorials

쉘 통과 매개 변수

$ n을: 우리는 스크립트에 매개 변수를 전달하는 쉘 스크립트의 구현에, 스크립트는 형식내에서 매개 변수를 사용 할 수 있습니다.N은 ...... 그래서 스크립트를 실행하는 두 번째 파라미터 스크립트 파라미터 2의 제 실행 숫자 1을 나타내며

다음의 예는 우리가 $ 0 실행 파일의 이름입니다 세 스크립트에 매개 변수 및 출력을 전달합니다

#!/bin/bash
# author:本教程
# url:www.w3big.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 $ ... 2 $ n "은 출력.
$$ 스크립트의 현재의 프로세스의 ID 번호가 실행
$! 마지막으로, 프로세스는 백그라운드 ID 번호 실행
$ @ * 동일로 $,하지만 당신은 인용 부호를 사용하고, 따옴표의 각 매개 변수를 반환 할 때.
이러한 ""와 "$의 @" "밀폐 된 케이스의 형태"$ 1 ​​""$ 2 "... 모든 매개 변수의"$ n "은 출력으로.
$ - 셸을 사용하여 현재 옵션 표시 명령을 설정 동일한 기능.
$? 마지막 명령의 종료 상태를 표시합니다. 0은 오류를 나타냅니다 및 기타 값은 오류를 나타냅니다.
#!/bin/bash
# author:本教程
# url:www.w3big.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.w3big.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