쉘 스크립트(sh) 이해하기..질문입니다.
글쓴이: sea5727 / 작성시간: 토, 2017/05/06 - 8:54오후
이번에 신입으로 리눅스, C, 소켓에 대한 일을 하는곳에 취업을 했습니다.
아직 발령은 안나서 공부중에 있습니다...
이런건 인터넷에 있으니 좀 찾아보라 하실 수 있지만 나름 찾아보고 ㅠㅠ 왔습니다.
다음은 리눅스 시스템의 IP주소를 반환하는 .sh파일입니다.
set `ifconfig` shift 6 k=`expr length $1` g=`expr $k - 5` echo $g s=${1:5:g} echo $s > ipaddress
제가 궁금한것은 3번째 라인의 length $1 이라는 표현입니다.
그리고.. 6번째의 s=${1:5:g} 라는것도요...
마지막줄인 $s > ipaddress 이것도 이해가 잘안되는데
결과적으로 이 쉘스크립트는 ip주소를 반환합니다!
Forums:
expr은 계산을 하는 유틸리티 입니다.
expr은 계산을 하는 유틸리티 입니다. windows의 calc의 CUI 버전정도로 이해 하시면 됩니다.
원하시는 부분은 man expr 에서 찾을 수 있는 내용이고요.
3번째 라인의 lentgh $1은 $1의 문자열 길이를 구하라는 의미입니다.
6번째 라인의 의미는 substr을 의미합니다. $1 변수의 5번째 글짜 부터 $g 번째 까지의 글자를 추출하라는 의미입니다. expr을 사용했다면 expr에도 substr을 지원하는데 다음과 같이 할 수 있습니다.
마지막으로
는 $s 의 내용을 ipaddress 라는 파일에 저장하라는 의미입니다.
스크립트 실행할 때 -x 옵션 주시면 디버깅이 되어
스크립트 실행할 때 -x 옵션 주시면 디버깅이 되어 보기 편해요
댓글 달기