Shell Script 기초 그리고 조건문과 반복문, Linux 계정 설정
2021. 9. 30. 03:12ㆍ카테고리 없음
/* Shell Script */
* 기초 문법
cd ~ mkdir scripts cd scripts vi practice1.sh // 입력 후 아래 스크린 샷 내용 입력, 이하 동일 sh practice1.sh // sh [파일명]으로 실행, 이하 동일 결과 : 달력, 날짜, 환경변수, 파일 상세 목록이 순서대로 출력 vi practice2.sh sh practice2.sh 결과 : 달력, 10, hello, 날짜 순서대로 출력 ※ cal, date는 script 안에 echo문이 이미 설정 있어서 생략 가능, 터미널에서 직접 입력 시와 동일 ※ sh 파일에서 주석은 #으로 처리 vi practice3.sh sh practice3.sh 결과 : hello world! ※ 글자 출력 시 " "로 String 처리 필요 vi practice4.sh sh practice4.sh 결과 : hwan 113 111 0 01:59 tty1 00:00:00 grep node // 변수에 터미널 명령어 담아 출력 vi practice5.sh sh practice5.sh 결과 : 5 50 3 1 + 2 ※ echo문은 단순 출력문이기때문에 계산을 하지 않음, expr문으로 계산 vi practice6.sh sh practice6.sh 결과 : hwan 121 119 0 02:10 tty1 00:00:00 grep node ※ 꺽쇠 ' > ' 사용 시 왼쪽 파일의 내용을 오른쪽 파일로 내보냄 |
* 조건문과 반복문
- 조건 비교 연산자가 숫자일 때와 문자열일 때가 다름
- if문의 기본 구조
- 조건문과 명령어 응용
- if [ -d [폴더명] ] // 폴더 찾기
- if [ -f [파일명] ] // 파일 찾기
vi practice7.sh sh practice7.sh 결과 : 터미널에서 ls -l 입력한 결과와 동일 vi practice8.sh sh practice8.sh 결과 : 위 스크린샷의 파란색 부분과 같음 ※ 비교 연산자 표현 방식
vi practice9.sh sh practice9.sh 결과1 : 최초 실행 시 폴더가 없으므로 해당 경로에 log 폴더가 없으므로 else문 출력 됨 결과2 : 다음 실행 시 폴더가 있으므로 폴더가 존재합니다 출력 됨 vi practice10.sh sh practice10.sh 결과 : practice9와 동일, 꺽쇠 응용 vi practice10_2.sh sh practice10_2.sh 결과 : practice9와 동일, 꺽쇠 응용 vi practice11.sh sh practice11.sh [매개변수] 결과 : 입력했던 [매개변수]가 출력 됨 vi practice12.sh // 반복문, for문 sh practice12.sh 결과 : 오류 발생, sh 대신 zsh 또는 bash로 대체하여 터미널 입력 zsh practice12.sh 결과 : A B C D E 0 1 2 3 4 5 6 7 8 9 bash practice12.sh 결과 : A B C D E 0 1 2 3 4 5 6 7 8 9 |
* find문
- find / -name [파일명] // 최상위 디렉토리부터 name이 node인 것들 검색
- find / -type f -name [파일명] // type이 파일인 것만 검색
- find / -type f -name "*.js" // 확장자로 검색
- find ~/ // home 디렉토리 기준으로 검색
/* Linux 계정 설정 */
* 생성, 설정, 변경 등
- ubuntu config --default-user [계정명] // 기본 계정으로 설정
- sudo useradd -m [계정명] // 계정 생성
- sudo passwd [계정명] // 비밀번호 설정
- su [계정명] // 사용 계정 변경