가치 있는 정보 준비 중
3초만 투자해 보세요!
Preparing valuable information
Just invest three seconds!
본문 바로가기
IT/SHELL

Shell 프로그래밍

by 콰나 | Quanna 2024. 1. 31.

< 프로그래밍>

1)스크립트 언어

- 파이썬, 루비, Perl, ASP, JSP, PHP, Shell

실행과정: Interpreter -> Assembler

 

2)컴파일 언어

- C, C++, Object-C

실행과정: C-> 컴파일 -> Assembler

 

<스크립트언어와 컴파일 언어의 차이점>

- 컴파일 언어가 스크립트 언어보다는 빠르다.

- 스크립트 언어가 개발하기 편하다.

- 스크립트 언어는 인터프리터만 설치되어 있으면 어디서든 실행 가능하지만 컴파일 언어는 커널에 따라 컴파일을 새로 진행해야 하므로 호환성이 스크립트 언어에 비해 떨어진다.

 

 

 

<기초문법>

변수  
입출력 출력: echo, 입력: read
조건문  
반복문  
주석  
배열  
연산  

 

<정규화표현식>

* 모든 것 *.tar
. 한 문자 대체 app....ion
$ 줄의 마지막 root$
^ 줄의 시작 ^root
\< 단어의 시작을 지정 \<app
\> 단어의 마지막을 지정 app\>
[] 패턴에 해당하는 문자 [Aa]pplication
[a-z] 범위 지정 [a-z]pplication
[^] 패턴에 제어하는 문자 [^a-w]pplication
\ 메타문자 기능 제거 \^asd\^

 

<egrep 정규화표현식>

+ 정규표현식을 붙임 [abc]+def
| 또는 test |root

 

<변수>

환경변수 - 쉘의 환경과 관련된 정보를 저장하는 변수
- 쉘에 의해서 정의되지만 사용자가 임의로 변경가능

지역변수 특정 지역에서만 사용할 수 있는 변수
전역변수 모든 지역에서 사용할 수 있는 변수
특수변수 $$ 현재 쉘의 PID

$? 실행된 마지막 명령어의 종료 상태

$* 모든 매개변수

$! 실행된 마지막 백그라운드 프로세스의 PID
매개변수 $0 명령어 또는 실행파일 이름

$[n] n번째 매개변수 (ex. $1 $2)

 

<cut 명령어>

-d 구분자를 지정
-f 몇번째 필드 지정
-c 몇번째 문자 지정

 

(ex) grep root /etc/passwd | cut –d : -f 3 => root계정의 UID만 출력

 

 

(ex)사용자에게 유저이름, 그룹이름, UID, GID, 기본로그인, 홈디렉토리을 입력받아 그룹과 사용자를 생성하고 그 그룹을 주그룹으로 사용한다.

 

 

 

 

 

'IT > SHELL' 카테고리의 다른 글

Shell 성적프로그램  (1) 2024.01.31
Shell 조건문 if 구구단  (0) 2024.01.31