“ 매주 목요일마다 당신이 항상 하던대로 신발끈을 묶으면 신발이 폭발한다고 생각해보라.
컴퓨터를 사용할 때는 이런 일이 항상 일어나는데도 아무도 불평할 생각을 안 한다. ”- Jef Raskin
맥의 아버지 - 애플컴퓨터의 매킨토시 프로젝트를 주도
오픈소프트웨어 |
우분투 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