VMware
ens32 ens33
VirtualBox
NAT: enp0s3
Host only: enp0s8 -호스트만으로는 인터넷사용불가
================================================================
$ sudo apt -y update ; sudo apt -y upgrade
$ echo SHELL # 지금 쓰고 있는 쉘 확인 sudo apt-get install -y zsh
$ chsh -s (which zsh) # 기본 쉘을 zsh로 변경 sudo apt-get install -y curl git # curl, git 설치
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
$ sudo apt-get install -y fonts-powerline
$ git clone https://github.com/powerline/fonts.git --depth=1
$ cd fonts
$ ./install.sh
$ cd ..
$ rm -rf fonts # fonts 폴더 삭제
$ cd ~/.oh-my-zsh/plugins # 여기에 플러그인 클론하기
$ git clone https://github.com/zsh-users/zsh-autosuggestions
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting
$ vi ~/.zshrc
ZSH_THEME="agnoster" # amuse eastwood duellj
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
$ source ~/.zshrc
===========================================================
우분투 apt lock 오류 발생 시
sudo dpkg --configure -a를 하시고 재부팅 후 설치
===========================================================
셸 스크립트
.sh = 셸 스크립트 파일
셸 명령문 처리방법
(프롬프트) 명령어 [옵션][인자값]
ls -l .sh .txt
dir /w *.sh
0 1 2
우분투는 $0
윈도우는 %0
[패키지 설치]
CentOS : yum(7버전), dnf(8버전)
Ubuntu : apt, apt-get
셸 스크립트 실행하는법 P.433
:e 파일명.sh -> 파일생성후작성
기계어
어셈블리어
컴파일러
인터프리터
스크립트
번역(컴파일러)
원시프로그램 -> 목적프로그램 -> 로드 -> 실행
(소스프로그램) -> (기계어)
name.c ------------> name.obj ---------> ---------->
name.py ------------------------------------------------>
name.sh ------------------------------------------------>
※ 변수를 대입할 때 '='좌우에는 공백이 없어야한다.
■ 이스케이프 문자
$ \' \" \ *
■ 파라미터 변수
$0 $1 $2 $3 등의 형태를 갖는다.
실행하는 명령의 부분 하나하나를 변수로 지정한다는 의미.
■ If문
참인 경우와 거짓인 경우를 구분해서 실행.
■ case문
If문은 참과 거짓이라는 두가지 경우만 사용할수있다. 그런데 여러가지 경우의 수가 있다면
case문 즉, 다중 분기를 사용한다.
■ AND, OR 관계 연산자
조건문에서는 and와 or의 의미를 갖는 관계연산자를 사용할수있다.
and는 -a 또는 &&을 사용하며 or은 -o또는 || 를 사용한다.
-a 나-o는 테스트문([])안에서 사용할수있는데
이때 괄호등의 특수문자앞에는 역슬래시()를 붙여줘야한다.
■ 반복문
for~in문
변수에 각각의 값을 넣은 후 do 안에 있는 "반복할 문장"을 실행.
그러므로 값의 개수만큼 반복 실행.
while문
조건식이 "참"인 동안 계속 반복하는 특성을 갖는다.
0 - 거짓
0이 아닌값 - 참
■ 반복문
for 변수 in 값1 값2 값3 ....
ex) for i in 1 2 3 4 5
for 변수 in {시작값..종료값..증가값}
ex) for i in {1..100..1} = 1에서 100까지 1씩 증가 홀수면 1..100..2 짝수면 0..100..2
for ((변수=초기값; 변수<=종료값; 증가값))
ex) for ((i=0; i<=100; i++))
for문 = 값의 개수만큼 반복
while [ 조건 ] : 조건이 참인 동안 계속 반복
ex) while [ 1 ] : 조건이 1(참)인 동안
until [ 조건 ] : 조건이 참이 될때까지 (거짓인 동안)
ex) until [ 1 ] : 조건이 참이 될때까지
break, contiunue, exit, return
break는 주로 반복문 종료할때 사용
continue는 반복문의 조건식으로 돌아가게함
exit 해당 프로그램을 완전히 종료 ※ exit 0 정상 종료 exit 1 비정상 종료
return 함수 안에서 사용될수 있으며 함수를 호출한곳으로 돌아감
■ 함수
특정한 작업을 목적으로 미리 만들어둔 명령어들의 집합
ex) 엑셀함수
SUM() : 합계 구하는 함수
AVERAGE() : 평균을 구하는 함수
함수명(인자값, 인자갑, ..)
함수명() {
내용들
...
}
함수명 <---- 함수 호출
=======================================================