반응형
제가 모르는 것만 정리해 둡니다~ 더 자세한 내용은 링크를.. 이용해 주세요^^
주석 : 셸에서
#
기호는 주석 행을 뜻한다. (쓸일이 없어서 몰랐군..)
bc를 이용하여 진법 변환하기
bc
는 임의의 정밀도를 제공하는 계산기 언어(arbitrary precision calculator language)로, 대다수 유닉스 배포판에서 제공한다. 출력 진법을 지정할 수 있으므로 10진법 이외에 다른 진법으로 결과를 출력할 때 유용하다.
인라인 입력
Here-document를 생성하려면 명령행에서 셸 연산자
<<
와 제한 문자열(limit string)을 지정한다. 제한 문자열은 공백이 없는 한 어떤 문자열이라도 괜찮다.
$ cat << buriEND
buriEND라는 글자를 치기 전까지 계속~입력받는다.
here-document를 이용하여 셸 스크립트 사용법 정보를 출력할 수 있다.
셸 안에서 셸 실행하기
현재 셸에서 서브셸(subshell)이라는 새 셸을 띄운 후 명령이나 명령 목록을 실행하기도 한다. 서브셸을 띄우면 현재 셸은 서브셸의 부모가 된다. 서브셸은 부모 환경을 그대로 이어받는다. 자식 셸과 부모 셸 사이에 입출력 재지정도 가능하다. 하지만 서브셸은 부모 환경을 수정하지 못한다. 스크립트를 실행하는 셸 환경은 그대로 유지하면서 특정한 명령군을 실행하는 셸 환경만 바꾸고 싶다면 서브셸이 적합하다. 동시에 오래동안 돌아갈 백그라운드 프로세스를 여러 개 시작할 때도 서브셸이 적합하다. 한 셸에서 서브셸을 여러 개 띄울 수 있으며, 재귀적으로 각 서브셸이 다시 서브셸을 여럿 띄울 수 있다.
키보드 입력 : read 명령
!!! Point!!! 유용한 한 줄짜리 셸 코드
현재 디렉터리에서 파일 이름이 정확히 두 자인 파일을 모두 찾아 .ppm이라는 확장자를 추가한다.
for i in ??; { mv $i $i.ppm; }
tar
와 서브셸을 사용하여 디렉터리 트리 전체를 복사한다. 파일 권한은 그대로 유지한다.( cd source ; tar pcf - * ) | ( cd target ; tar pxvf - )
이진수를 읽어 십진수로 출력한다.
read BINLOC;echo $((2#$BINLOC))
/usr/local 디렉터리에서 확장자가 .mp3인 파일을 모두 찾은 후 각 파일을
bzip2
유틸리티로 압축한다. 이름에 공백이 들어가는 파일도 포함한다.find /usr/local -name "*.mp3" | while read name ; do bzip2 $name; done
파일에서 10진수 값 전부를 16진수로 출력한다.
cat file | while read number ; do echo $((0x$number)); done
파일에서 10진수 값 전부를 16진수로 변환하여 새로운 파일에 저장한다. 새 파일 이름은 원래 파일 이름에 .hex 확장자를 추가한다.
cat file | while read number ; do echo $((0x$number)) >> file.hex; done
루프를 열 번 돌면서 command를 추가한다. command 인수로 0, 10, 20, ..90까지 숫자를 넘긴다.
i=0; while [ $i -ne 100 ]; do command $i; i=$(($i+10)); done
반응형
'Computer 그리고 Developer > dW' 카테고리의 다른 글
[dW] JUnit과 TestNG 자세히 살펴보기 (0) | 2009.01.31 |
---|---|
[dW] 사람을 위한 자동화: 연속 테스팅 (0) | 2009.01.30 |
[dW] iBatis에 관한 글들 (0) | 2008.12.30 |
[dW] Dojo concepts for Java developers (0) | 2008.12.27 |
[dW] IBM campus wizard 모집 (0) | 2008.12.22 |
[dW] XML 구문을 분석할 때 발생하는 오류 처리하기 (2) | 2008.12.09 |
[dW] 아파치 더비를 이용한 오프라인 Ajax (0) | 2008.11.13 |
디벨로퍼웍스 늦가을 행사 “개발자들의 수다” 행사를 하는군요. (2) | 2008.11.05 |