셸 스 크 립 트 디 버 깅 에서 set 옵션 열기
짧 은 기호
긴 부호
결실
set -f
set -o noglob
파일 이름 확장 에 사용 할 특수 문 자 를 금지 합 니 다.
set -v
set -o verbose
셸 의 입력 줄 을 인쇄 합 니 다.
set -x
set -o xtrace
명령 을 실행 하기 전에 명령 을 인쇄 합 니 다.
우리 가 셸 스 크 립 트 를 디 버 깅 할 때 피 할 수 없 는 문제 가 발생 할 수 있 습 니 다. 이 럴 때 스 크 립 트 가 어디 에 있 는 지, 어떤 변수 에 문제 가 생 겼 는 지 추적 할 수 있다 면 우리 의 디 버 깅 에 도움 이 될 것 입 니 다. 여기 서 셸 안의 추적 옵션 을 소개 합 니 다. 여기 서 set 명령 을 소개 합 니 다. 스 크 립 트 에 set – x 를 추가 한다 고 가정 합 니 다.스 크 립 트 가 실 행 된 불필요 한 출력 을 표시 할 수 있 습 니 다. 스 크 립 트 파일 에 명령 set – x 를 추가 하면 set 명령 이후 실 행 된 모든 명령 과 불 러 오 는 명령 줄 의 모든 인자 가 표 시 됩 니 다. 줄 마다 추가 번호 (+) 를 추가 하여 추적 출력 표지 임 을 알려 줍 니 다. 하위 셸 에서 실 행 된 셸 추적 명령 은 2 개의 호출 번호 (+) 를 추가 합 니 다.
데모 스 크 립 트 를 살 펴 보 겠 습 니 다.
1: [root@centos6 shell]# cat set-x.sh
2: #!/bin/bash
3: #set -x
4: echo -n "Can you write device drivers?"
5: read answer
6: answer=$(echo $answer | tr [a-z] [A-Z])
7: if [ $answer = Y ]
8: then
9: echo "Wow,you must be very skilled"
10: else
11: echo "Neither can I,I am just an example shell script"
12: fi
13: [root@centos6 shell]# sh set-x.sh
14: Can you write device drivers?y
15: Wow,you must be very skilled
16: [root@centos6 shell]# sh set-x.sh
17: Can you write device drivers?n
18: Neither can I,I am just an example shell script
19: [root@centos6 shell]#
위의 스 크 립 트 내용 중, 나 는 set – x 이 줄 의 주석 이 떨 어 졌 습 니 다. 우 리 는 평소에 이런 효 과 를 보 았 습 니 다. 다음은 set – x 이 옵션 을 열 어서 효 과 를 보 겠 습 니 다.
1: [root@centos6 shell]# sh set-x.sh
2: + echo -n 'Can you write device drivers?'
3: Can you write device drivers?+ read answer
4: y
5: ++ echo y
6: ++ tr '[a-z]' '[A-Z]'
7: + answer=Y
8: + '[' Y = Y ']'
9: + echo 'Wow,you must be very skilled'
10: Wow,you must be very skilled
11: [root@centos6 shell]# sh set-x.sh
12: + echo -n 'Can you write device drivers?'
13: Can you write device drivers?+ read answer
14: n
15: ++ echo n
16: ++ tr '[a-z]' '[A-Z]'
17: + answer=N
18: + '[' N = Y ']'
19: + echo 'Neither can I,I am just an example shell script'
20: Neither can I,I am just an example shell script
21: [root@centos6 shell]#
헤헤, 보 셨 죠? 줄 마다 표시 되 어 있 습 니 다. 매개 변수의 상태 와 어느 단계 까지 실행 되 는 값 이 얼마 인지 잘 보 이 죠? answer 라 는 변수의 모든 단계 의 상태 와 값 을 잘 볼 수 있 습 니 다. 관심 이 있다 면 시험 해 보 세 요. 이 옵션 은
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.