<쉘 프로그래밍>
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 |