1. 환경변수
환경변수란, 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임.
출처는 위키백과
이름 그대로 변수는 변수인데, os가 프로세스들을 생성할 때 참조하는 변수다.
더 쉽게 프로그램을 실행시킬 때 필요한 변수.
export
이미 설정된 환경변수 확인
export [변수명]="[값]"
등호 표시 앞뒤로 공백 x
특히 path 설정시 중요
단, 이렇게 export로 줘버리면 시스템 재부팅, 로그아웃시 환경변수 값이 사라짐. 매번 다시 할당 필요
1-1) 환경변수의 영구 적용
~/.bashrc 파일을 열어서 마지막줄에 원하는 동작을 추가
vscode 를 사용한다는 가정하에, 편집기 열어서 수정하는 명령어
code ~/.bashrc
해당 변수명의 값을 알려줌
echo $[값을 알고싶은 변수명]
1-2) 환경변수 파일 사용
os단의 환경 변수를 지정하는 것이 아닌 프로그램 단위로 지정하고싶다면, .env라는 파일에서 환경변수를 컨트롤 가능.
dotenv를 설치
npm init
npm i dotenv
.env 파일로 환경변수에 접근가능.
index.js 같이 예시 js 파일 하나 만들어 놓고 안에 process.env 출력하면 확인 가능.
nano index.js
cat index.js
>> console.log(process.env)
node index.js
>> 환경변수 쭈르륵
환경변수를 사용할 index.js 라는 파일에는
require("dotenv").config()
선언 필요.
그 이후, process.env.[변수명] 으로 사용가능
왜?
드러나면 안되는 민감한 정보 저장 관리용
.gitignore로 깃헙에 올리지 않고 관리 가능
개별 환경 별로 gitignore에 올라갈 내용 만들어주는 사이트
https://www.toptal.com/developers/gitignore
gitignore.io
Create useful .gitignore files for your project
www.toptal.com
그런데 이미 깃에 올라가 버린 파일이라면?
올라가 버린 내용은 gitignore에 포함한다고 추적 피하기 x
수동으로 설정해줘야함
git rm -r --cached . (현재 레포지토리의 캐시를 모두 삭제한다.)
git add .
git status
git commit -m "커밋메세지"
2. bash 스크립트
2-1) 쉘shell
운영체제의 기능이나 서비스를 구현할 수 있는 명령어를 사용자에게 받아서 실행할 수 있는 인터페이스를 제공.
사용자의 명령어를 실행해주는 프로그램 즉, 사용자와 운영체제의 다리 역할.
현재 사용되는 쉘의 종류는 유닉스버전의 기본 쉘인 본 쉘 (Bourne shell) 이후 C쉘, bash 쉘 등 다양
리눅스에서는 bash쉘을 표준으로 사용
#!/bin/sh
# This is a comment!
echo Hello World
첫번째줄은 이게 쉘스크립트라는 것을 컴퓨터에게 알려주는 역할
#으로 주석
2-2) 쉘스크립트 명령어 모음
#echo 문자열 출력
#!/bin/bash
name="lee"
value="devops"
echo name: ${name}, value: ${value}
이렇게 변수 내용을 출력할 수도 있고
단순 하게 print처럼 쓸 수도 있음.
#echo 문자열 출력
#!/bin/bash
echo hello-world
print의 기능도 지원하지만 echo와 다르게 줄바꿈 x
그래서 하고싶으면 백슬래시 활용 필요.
#!/bin/bash
var1="Hello World"
var2="Bye"
printf "${var1}\n${var2}"
단, 문자열로 처리하기 때문에 산술 연산시
#!/bin/bash
num1 = 1
num2 = 2
echo $num1 +$num2
하면 문자열 그대로 1 + 2 가 나올 수도 있음
익히 알고 있는 산술 연산을 하고싶다면,
#!/bin/bash
let sum = $num1 +$num2
echo $sum
조건문을 사용하고 싶다면 독특한 문법을 적용해야함.
# 조건문 사용법
#!/bin/bash
if [ expression ] ; then
명령어
elif [ expression ] ; then
명령어
else
명령어
fi
if 와 fi 사이에 조건문 넣어야함.
[ ] 이거 사이에 공백 필수
산술연산자
문자열 비교 연산자
*** 참고문헌 ***
https://devpouch.tistory.com/124?category=1018331
[bash] 쉘 스크립트 조건문 사용법
이전 글에서 쉘 스크립트로 사용자 입력을 받는 방법과 출력하는 방법에 대해서 다뤄보았다. 그렇다면 사용자의 입력에 따라 출력을 다르게 하고 싶을 때는 어떻게 해야할까? bash 쉘 스크립트에
devpouch.tistory.com
'CS > 운영체제' 카테고리의 다른 글
[OS] 개념: 프로세스, 스레드, 데드락 (1) | 2024.10.30 |
---|---|
[Linux] 시스템 모니터링 (0) | 2022.05.13 |
[Linux]nohup (0) | 2022.05.13 |
[Linux]입출력, 표준 스트림 (0) | 2022.02.11 |
[Linux]패키지&프로세스 (0) | 2022.02.10 |