❌이전글/이전글

셸 스크립트의 기초를 배우자(1)

2019. 5. 11. 18:45
반응형

이번시간은 셸 스크립트의 기본적인 문법에 대해 공부하는 시간을 가져보도록 하겠습니다

셸 스크립트는 이것이 리눅스다의 동영상과 책에 있는 내용으로 공부하였습니다


셸 스크립트

C언어와 유사한 방법으로 프로그래밍이 가능합니다.  

왜냐하면 리눅스의 대부분을 C언어로 작성했기 때문입니다.

별도로 컴파일하지 않아도 텍스트 파일 형태로 셸에서 바로 실행할 수 있습니다. 



쉘 스크립트의 작성과 실행

 vi name.sh 간단한 셸 스크립트작성

 

01 #!/bin/sh                                                        // bash를 사용하겠다는 의미입니다. 첫행에 꼭 써야 합니다.

02 echo "사용자 이름 :" $USERNAME"       // echo 명령어는 화면에 출력하는 명령어 

03 echo "호스트 이름 :" $HOSTNAME"

04 exit 0                                            

 // 종료 코드 반환.   0은 성공을 의미합니다. 셸 스크립트는  실행 중간에 문제가 생겨도 무조건 성공했다는메시지를 반환하기 때문에 직접 마지막에 행에서 성공인지 실패인지 반환하는 것이 좋습니다.


출력


명령어 실행

 sh 명령어로 실행

'sh name.sh' 속성을 변경할 필요가 없다는 장점


실행 가능하게 속성을 변경 후 실행

'chmod +x 파일명'  으로 소유권을 변경시킨 후  스크립트파일 실행

./name.sh 

' ./ ' 는 현재 디렉터리를 의미, 현재 디렉터리의 스크립트 파일을 실행하라는 의미.  ./를 입력하는 이유는 현재 디렉터리가 $PATH 환경 변수에 설정되어 있지 않기 때문

 


변수

 변수는 필요한 값을 계속 변경해 저장하는 개념


변수의 기본

- 셸 스크립트에서 변수를 사용하기 전에 미리 선언하지 않으며, 처음 변수에 값이 할당되면 자동으로 변수가 생성된다.

- 변수에 넣는 모든 값은 문자열(string)으로 취급. 숫자를 넣어도 문자로 취급됩니다

- 변수 이름은 대 소 문자를 구분.

- 변수를 대입할 때 '=' 좌우에 공백이 없어야합니다


ex)

hihigh="Linux zzang" x 와 z사이 공백은 " " 더블쿼터로 묶어야 오류가 나지 않습니다.


그리고 만약 hihigh=1+1로 선언 하고 echo로 출력하는 것은 '2'가 아니라 '1+1'입니다



변수의 입력과 출력

 vi var1.sh 를 만들어 보겠습니다


01 #!/bin/sh

02 hi="hi high"

03 echo $hi

04 echo "$hi"

05 echo '$hi'

06 echo \$hi

07 echo input :

08 read hi

09 echo 'hi' = $hi

10 exit 0



$가 문자가 들어간 글자를 출력하려면  ' ' 싱글 쿼터로 묶어주거나 앞에 \역슬래시를 붙여줘야 합니다

8행은 변수 hi 에  값을 입력합니다



숫자 계산

변수에 넣은 값은 모두 문자열로 취급

변수에 들어 있는 값에 +, -, /, * 등 연산을 하려면 expr 키워드를 사용, 수식과 함께 꼭 ` 역따옴표 로 묶어줘야함

수식에 괄호 와  * 를 사용하려면 앞에 \를 붙여줘야함  -> 07행 참고



 numcalc.sh


01 #!/bin/sh

02 num1=100

03 num2=$num1+200

04 echo $num2

05 num3=`expr $num1 + 200`

06 echo $num3

07 num4=`expr \( $num1 + 200 \) / 10 \* 2`

08 echo $num4

09 exit 0


결과



파라미터 변수

 파라미터(parameter) 변수는 $0 $1 $2 $3 $4 등 형태를 갖습니다. 명령의 부분 하나하나를 변수로 지정한다는 뜻입니다.

ex) yum -y install httpd를 실행한다고 가정할 때의 파라미터 변수

yum  -y   install   httpd

$0    $1   $2       $3

 명령어

yum

-y 

install  

httpd 

 파라미터 변수

$0 

$1 

$2 

$3 


paravar.sh


$0은 yum 함수명, $1은 -y , 전체 파라미터 변수는 $*로 표현 그리고 파라미터 갯수표현 $#
















반응형
저작자표시 동일조건

'❌이전글 > 이전글' 카테고리의 다른 글

정보처리기사 합격했습니다  (1) 2019.05.24
DNS란 무엇인가 재귀적,반복적 쿼리  (2) 2019.05.21
셸 스크립트의 기초를 배우자(2) if~case문  (0) 2019.05.15
티스토리 블로그 네이버에 노출 웹마스터도구  (1) 2019.05.12
리눅스(centos7) - 하드디스크 추가에서 오토마운트까지  (0) 2019.05.07
티스토리 마우스 드래그 복사금지  (2) 2019.05.06
티스토리 기본 글자색 검정색으로 변경하기  (3) 2019.05.06
리눅스centos7 - 응급복구(2) GRUB 부트로더  (0) 2019.05.02
'❌이전글/이전글' 카테고리의 다른 글
  • 셸 스크립트의 기초를 배우자(2) if~case문
  • 티스토리 블로그 네이버에 노출 웹마스터도구
  • 리눅스(centos7) - 하드디스크 추가에서 오토마운트까지
  • 티스토리 마우스 드래그 복사금지
당근은싫지만먹어야함
당근은싫지만먹어야함
공부한거 대충 끄적이는 블로그...
반응형
당근은싫지만먹어야함
정보의 게이트웨이
당근은싫지만먹어야함
전체
오늘
어제
  • 분류 전체보기 (111)
    • 🐍JAVA (1)
    • 🐍ORACLE (3)
    • ❌이전글 (107)
      • 이전글 (107)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스위치
  • 리눅스
  • 디비버
  • oracle
  • centos7
  • Linux
  • SQL
  • EVE-NG
  • 티스토리
  • RAID구성
  • centos
  • 네트워크
  • 센트오에스7
  • 윈도우10
  • 셸스크립트
  • 자바
  • 오라클
  • dns
  • 운영체제
  • 우분투

최근 댓글

최근 글

hELLO · Designed By 정상우.
당근은싫지만먹어야함
셸 스크립트의 기초를 배우자(1)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.