혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

10-04, 오픈소프트웨어, 쉘스크립트

간지뽕빨리턴님 2019. 11. 24. 19:39
반응형
  오픈소프트웨어

우분투 ps 명령어 현재 실행되고 있는 작업들

fg 백그라운드 (이전 작업을 그대로 실행)

vi .viminfo 일종의 vi의 로그 파일이라고 보면 됨

 

쉘이란

사용자 사이를 이어주는 역활

사용자 명령어 해석하고 운영체제가 알아들을 수 있도록 지시

 

운영체제는 shell에게서 받은 지시를 해석하여 하드웨어를 위한 지시어로 바꾸어줌

셸(Shell)은 Windows의 명령 프롬프트와 비슷해보이지만 훨씬 강력한 프로그래밍 기능

 

1. 사용자와 커널 사이에서 명령을 해석해 전달하는 명령어 해석기 기능이 있습니다.

2. 셸은 자체 내에 프로그래밍 기능이 있어서 프로그램을 작성할 수 있어요. 셸 프로그래밍 기능을 이용하면 여러 명령을 사용해 반복적으로 수행하는 작업을 하나의 프로그램으로 제작 할 수 있습니다. 셸 프로그램을 셸 스크립트라고 불러요

3. 사용자 환경 설정의 기능 - 초기화 파일 기능을 이용해 사용자의 환경을 설정할 수 있습니다. 로그인 할 때 이 초기화 파일이 실행되서 사용자의 초기 환경이 설정돼요. 셸을 공부하는데 가장 중요한 것 중 하나가 환경변수의 이해입니다. 다음 포스팅에서는 셸의 환경변수에 대해서 다뤄볼거예요.

오라클데이터베이스

쉘 스크립트

쉘 통해 프로그램 만드는 것

기존 명령어를 이용하여 만들어 지는 스크립트 파일의 문법은 다른 프로그래밍 언어보다 매우 간단하고 쉽게 응용 가능

 

사용 이유

동일한 작업을 반복하여 수행하고자 할 때 자동화 가능

시간 절약

자신만의 강력한 유틸 생성

관리자 작업 커스텀 마이징 

서비스 환경설정 사용자 추가 같은 작업 오류 줄일 수 있음

예 : 데이터 백업 시스템 모니터링, 시스템 경고 메세지 발송, 사용자 관리 메모리 관리 등등

 

vi편집기등을 이용하여 작성

스크립트 #!/bin/bash로 시작

bash test.sh

 

.vimrc 필요한 명령어 설정

 

-rw-rw-rw- 6 6 6bit

 

chmod 권한 설정

 

chmod +x test.sh <<<<<모든 이용자가 수정가능

chmod u+x test.sh

chmod 666 test.sh

 

./test.sh <그냥 실행하면 실행파일 찾는 파일 홈디렉토리가 포함되어져있지않아서 그럼..>

 

echo $PATH 환경 변수

쉘스크립트에서 거의 띄우는걸 쓰질않는다.

PATH=${PATH}:/home/dit/bin 환경 변수 추가

 

$HOME 사용자의 홈 디렉토리 경로

$SHELL 사용자가 로그인 할 때 실행 할  shell 경로

 

$PATH 실행 파일을 찾을 경로를 저장

 

env ( 환경 변수 확인 명령어)

 

 

변수출력 $a $b $c

 

a=100 -> echo a(a만반환) - > echo $a -> 100 출력

 

echo "a = $a" - > a = 100

싱글은 그대로 출력한다

더블은 어떤 변수에 대해서 해석이 이루어진다.

 

printf "a = %d\n" $a

a = 100

 

printf "pi = %10.2f\n" 3.14

오른쪽정렬은 %10앞에 -붙인다.

 

echo "a = ${a}"

a = 100

 

c=`expr $a + $b` = > 300

 

read k

값 입력

echo $k -> 입력한 값 출력

 

  1 #!/bin/bash

  2 # 두 수를 입력받아 더하고 결과를 출력하는 스크립트

  3 # 2019. 10. 4

  4

  5

  6 # 더 할 두 수 입력받기

  7 echo "A = "

  8 read A

  9 echo "B = "

 10 read B

 11

 12 # 두 수를 더하여 변수 C에 저장하기

 13 C=`expr $A + $B`

 14

 15 #결과 출력하기

 16 echo "$A + $B = $C"

 17

~                   

 

bash addTwoNumber

계산결과 출력

 

 echo -n "A = " # 옵션 -n은 줄바꿈 방지기능

 

1번째 매개변수는 $1 2번째는 $2

$0는 프로그램 이름 (r(바꾸고싶은문자)) 바꿔짐

 

  1 #!/bin/bash

  2 # 두 수를 매개 변수로  입력받아 더하고 결과를 출력하는 스크립트

  3 # 2019. 10. 4

  4

  5

  6

  7 # 두 수를 더하여 변수 C에 저장하기

  8 C=`expr $1 + $2`

  9

 10 #결과 출력하기

 11 echo "$1 + $2 = $C"

 12

~                                                                                                                       ~                                                                                                                       ~                                                                                                                       ~                        

 

 

 

[ ~ -gt ~ ] ~가~보다크다

-lt ~가~보다작다

-ge ~가~보다크거나작다

-le ~가~보다작거나같다

-eq A와 B가 같다

-ne A와 B가 다르다

$# 매개변수 개수

 

  5 # 매개변수가  2개보다 적으면 실행하지 않고 대응

  6

  7 #매개 변수 개수 확인

  8 if [ $# -lt 2 ]

  9 then

 10     echo "매개변수 부족으로 계산할 수 없음."

 11     exit 1 #프로그램 종료 ( 종료 코드 1)

 12     fi

 13

 

 

echo $? -> 1출력

특별한 오류없이 출력이 된다면 항상 0이나온다.

오류가 나거나 출력한것이 거짓일때는 1이 나온다

 

[ 3 -gt 4 ]

echo $?

1