linux 셸 프로 그래 밍 11 특수 기호 요약: $0 $1 $2 $\# $* $@ $! $$$?

1802 단어
$#           
$0         
$1      shell        
$2      shell        
$@              
$*                     ,       ,     9 
$$           ID 
$!         Process PID
$?             ,0      ,       

스 크 립 트:
#!/bin/bash
# args  test
echo "title: $0"
echo "total args: $#"
echo "first args: $1"
echo "second args: $2"
echo "all args: $@"
echo "all args: $*"
echo "currnet pid:$$"
echo "status: $?"

결과:
[root@localhost src]# sh java18 1 2 3 title: java18 total args: 3 first args: 1 second args: 2 all args: 1 2 3 all args: 1 2 3 currnet pid:4005 status: 0
-----------------------------------------------------------------------------------------------------
구별: "@"과 "*"
공통점: 모든 인자 참조 차이 점: 두 따옴표 에 만 나타 납 니 다. 만약 에 스 크 립 트 가 실 행 될 때 세 개의 매개 변수 (1, 2, 3) 를 기록 하면 '*' 는 '123' (하나의 매개 변 수 를 전달 한 것 과 같 음) 과 같 고 '@' 은 '1', '2', '3' (세 개의 매개 변 수 를 전달 한 것 과 같 음) 을 전달 한 것 과 같 습 니 다.
3"
스 크 립 트:
#!/bin/bash
# total args 
a=$#
for((i=0;i<$a;i++))
do
echo "$i"
done

echo "---- $ @----"
for var in $@
do
echo "$var"
done

echo "----$ *----"
for va in $*
do
echo "$va"
done

echo "---- " $ @ "----"
for var1 in "$@"
do
echo "$var1"
done

echo "---"  "----"
for va1 in "$*"
do
echo "$va1"
done

실행 결과:
[root@localhost src]# sh java19 1 2 3 0 1 2 ---- $ @----  1 2 3 ----$ *---- 1 2 3 ----  $ @ ---- 1 2 3 --- ---- 1 2 3
실행 결과:
[root@localhost src]# sh java19 1 2 3 0 1 2 ---- $ @----  1 2 3 ----$ *---- 1 2 3 ----  $ @ ---- 1 2 3 --- ---- 1 2 3

좋은 웹페이지 즐겨찾기