요즘 재미지게 열심히 달리고 있는데;;

회사에 있는 때에는 하기도 힘들고 ㅠ

나만 뒤쳐지는것 같아서 매크로한번 만들어서 써봐요 ㅎㅎ

생각보다 재미지더군요

또다른 언어를 배운다는 재미도 있었고

게임도 잘 돌아가서 너무 좋았어요 ㅎㅎ


즐겁게 게임하셔요^^


SNGCM_v2.0.zip


AND

다들 잘 지내구 계시죠!? ㅋ

오랜만에 인사드립니다 ㅎㅎ

요즘 시간내기가 너무 어렵네요....

빨리 신입티를 벗어야 할텐데...ㅎ

다들 열심히 하시구 힘내십쇼 !!

늦었지만 새해 복 많이 받으시구여 ^ ^

AND


[실행]
- 실행 퍼미션 설정 : #chmod +x [Shell 파일]

- Script 실행 : #./[파일이름] 또는 #sh [파일이름]


[Shell 정보 입력]
- Script 작성시 첫 라인 표기
  Bash 쉘 : #!/bin/bash
  korn 쉘 : #!/bin/ksh
  tcsh 쉘 : #!/bin/tcsh

 

[ 아규먼트 변수 ]

- 특별한 내장변수로 위치 매개변수로 사용한다.

- 매개변수를 불러올때 스크립트의 명령행 인자로 사용한다.

option
- $0 : 실행된 쉘 스크립트 이름
- $1 : 스크립트에 넘겨진 첫번째 아규먼트
- $2 : 스크립트에 넘겨진 두번째 아규먼트
- $# : 스크립트에 넘겨진 아규먼트의 개수
- $$ : 쉘스크립트의 프로세스ID
- $? : "[ '$?' 종료코드 ]" 참조

- $* : 스크립트에 전달된 인자 전체를 하나의 변수에 저장하며 IFS환경변수의 첫번째 문자로 구분
- $@ : $*와 동일 (다른점은 IFS환경변수를 사용하지 않음)
 

[ '$?' 종료코드 ]
- 0 (성공) , 1 ~ 125 (에러) , 126 (파일이 실행가능하지 않음) , 128 ~ 255 (시그널 발생)

 

예)

#vi argument.sh                            
------------------------------------------------------------------------------------------------------------------
#!/bin/bash                                          

  echo "This script file $0"
  echo "Argument Count is $#"
  echo "Process ID is $$"
  echo "Argument List \$* : $*"
  echo "Argument List \$@ : $@"
  echo "Argument 1 : $1"
  echo "Argument 1 : $2"
  echo "Argument 1 : $3"
  echo "This script code $?"
------------------------------------------------------------------------------------------------------------------

#./argument.sh a b c

-  This script file ./argument.sh
-  Argument Count is 3
-  Process ID is 31779
-  Argument List  $* : a b c
-  Argument List $@ : a b c
-  Argument 1 : a
-  Argument 2 : b
-  Argument 3 : c
-  This script code 0

 

[산술비교]
- [ $A -eq $B ] : A와 B가 같으면 참 (Equal)
- [ $A -ne $B ] : A와 B가 같지 않으면 참 (Not Equal)
- [ $A -gt $B ] : A가 B보다 크면 참 (Greater Then)
- [ $A -ge $B ] : A가 B보다 크거나 같으면 참 (Greater Equal)
- [ $A -lt $B ] : A가 B보다 작으면 참 (Less Then)
- [ $A-le $B ] : A가 B보다 작거나 같으면 참 (Less Equal)

- [ ! $A ] : A가 참이면 거짓, 거짓이면 참
- [ $A -a $B ] : $A AND $B의 결과, 둘 다 참이면 참
- [ $A -o $B ] : $A OR $B의 결과 , 둘 중 하나만 참이면 참

 
[문자열비교]
- [ string ] : string 이 빈 문자열이 아니면 참
- [ string1 = string2 ] : 두 문자열이 같으면 참
- [ srting1 != string2 ] : 두 문자열이 다르면 참
- [ -n string ] : 문자열이 null (빈문자열)이 아니면 참
- [ -z string ] : 문자열이 null (빈문자열)이면 참
 

[파일조건]
- [ -b FILE ] : FILE 이 블럭디바이스이면 참
- [ -c FILE ] : FILE 이 문자디바이스이면 참
- [ -d FILE ] : FILE 이 디렉토리이면 참
- [ -e FILE ] : FILE 이 존재하면 참
- [ -f FILE ] : FILE 이 존재하고 크기가 0보다 크면 참
- [ -g FILE ] : FILE 이 SGID 가 있으면 참
- [ -u FILE ] : FILE 에 SUID 가 있으면 참
- [ -k FILE ] : FILE 에 Sticky bit 가 있으면 참
- [ -L FILE ] : FILE 이 심볼릭링크이면 참
- [ -S FILE ] : 소켓디바이스이면 참
- [ -r FILE ] : 현재 사용자가 읽을 수 있는 파일이면 참
- [ -s FILE ] : 파일이 비어있지 않으면 참
- [ -t FD ] : FD (File Descriptor)가 열려진 터미널이면 참
- [ -w FILE ] : 현재 사용자가 쓸 수 있는 파일이면 (Writable file) 참
- [ -x FILE ] : 현재 사용자가 실행할 수 있는 파일이면  (Excute file) 참
- [ -O FILE ] : FILE 의 소유자가 현재 사용자이면 참
- [ -G FILE ] : FILE 의 그룹이 현재 사용자의 그룹과 같으면 참
- [ FILE1 -nt FILE2 ] : FILE1 이 FILE2 보다 새로운 파일 (최근의 파일)이면 참
- [ FILE1 -ot FILE2 ] : FILE1 이 FILE2 보다 오래된 파일이면 참
- [ FILE1 -ef FILE2 ] : FILE1 이 FILE2 의 하드링크, 즉 I-node 값이 같으면 참

'Program > Shell-Script' 카테고리의 다른 글

Bash-Shell Scripting 초간단 기초 예제  (0) 2012.05.01
AND