Shell 프로 그래 밍 의 Shift 사용법

1636 단어 셸 프로 그래 밍
위치 매개 변수 사용 가능
4. 567914. 왼쪽으로 이동 하 라 고 명령 합 니 다.예 를 들 면
원래
지금
원래
지금
등등shiftshift 3
버 림,
4. 567914. 이동 하지 않 습 니 다.인자 의가 없다
명령$4 .
매우 유용 한 유 닉 스 명령: shift.위치 변수 나 명령 행 매개 변수 에 대해 그 개 수 는 반드시 확정 되 어야 하거나 셸 프로그램 이 그 개 수 를 모 를 때 모든 매개 변 수 를 변수 $* 에 할당 할 수 있다 는 것 을 알 고 있 습 니 다.사용자 가 Shell 에 게 위치 변수 개 수 를 모 르 는 상황 에서 매개 변 수 를 하나씩 처리 하 라 고 요구 하면 $1 이후 에 $2 이 고 $2 뒤에 $3 등 입 니 다.shift 명령 이 실행 되 기 전 변수 $1 의 값 은 shift 명령 이 실 행 된 후 사용 할 수 없습니다.
예 는 다음 과 같다.
\# shift 명령 테스트 (x shift. sh)
until [ $# -eq 0 ]
do
echo "첫 번 째 매개 변 수 는: $1 매개 변 수 는: $\#"입 니 다.
shift
done
이상 프로그램 실행 xshift.sh:
$./x_shift.sh 1 2 3 4
결 과 는 다음 과 같 습 니 다.
첫 번 째 매개 변 수 는: 1 매개 변수 개 수 는: 4 입 니 다.
첫 번 째 매개 변 수 는: 2 매개 변수 개 수 는: 3 입 니 다.
첫 번 째 매개 변 수 는: 3 매개 변수 개 수 는: 2 입 니 다.
첫 번 째 매개 변 수 는: 4 매개 변수 개 수 는: 1 입 니 다.
위 에서 알 수 있 듯 이 shift 명령 이 실 행 될 때마다 변수의 개수 ($\#) 는 1 로 줄 이 고 변수 값 은 한 자리 앞 당 겨 집 니 다. 아래 코드 는 until 과 shift 명령 으로 모든 명령 행 매개 변 수 를 계산 합 니 다.
\# shift 상위 명령 적용 (x shift 2. sh)
if [ $# -eq 0 ]
then
echo "Usage: x shift2. sh 인자"
exit 1
fi
sum=0
until [ $# -eq 0 ]
do
sum=`expr $sum + $1`
shift
done
echo "sum is: $sum"
위 프로그램 실행:
$x_shift2.sh 10 20 15
그 결과:
45
Shift 명령 은 또 다른 중요 한 용도 가 있 습 니 다. Bsh 는 9 개의 위치 변 수 를 정의 합 니 다. $1 에서 $9 까지 사용자 가 명령 행 에서 9 개의 매개 변 수 를 사용 할 수 있다 는 것 을 의미 하지 않 습 니 다. shift 명령 을 통 해 9 개 이상 의 매개 변 수 를 방문 할 수 있 습 니 다.
Shift 명령 의 한 번 이동 매개 변수의 개 수 는 그 매개 변수 가 지정 합 니 다.예 를 들 어 셸 프로그램 이 9 개의 명령 행 인 자 를 처리 한 후에 shift 9 명령 을 사용 하여 $10 을 $1 로 옮 길 수 있 습 니 다.

좋은 웹페이지 즐겨찾기