리눅스 bash를 이용하여 스크립팅을 할 수 있습니다.
기본적인 매크로는 makefile로 할 수 있지만,
반복문이나 조건문 같은 복잡한 명령은 불가능 하기 때문에 shell script를 사용합니다.
shell script는 일반 프로그램 처럼 실행 할 수 있으며, chmod 명령어를 통해 실행권한을 줘야합니다.
Shell Script 문법
직접 작성하려다가 정리가 잘 되어 있는 글이 있어서 링크로 대체합니다.
해당 링크에 빠진 부분 있다면 그 부분만 추가로 작성할 예정.
blog.gaerae.com/2015/01/bash-hello-world.html
작성시 유의 사항
readonly variable = 10;
# 위와 같이 작성하면 에러가 남.
readonly variable=10;
# 위와 같이 붙여줘야함.
줄 바꿈을 CRLF로 처리할 경우 경고가 나옴. LF로 처리할 것
CRLF일 경우
code
# 위와 같이 작성하면 'code\r' 로 인식함.
code;
# 위와 같이 ;를 붙여주면 재대로 인식함. 하지만 경고는 나옴.
주석
# 한 줄 주석
:<<'END'
긴 주석
계속 주석
END
명령어 결과값 받기
result=`commend`
# 또는
result=$(commend)
#후자는 명령어 줄에 (옵션 등으로 인해)공백이 있으면 제대로 인식하지 못하고 에러가 남
일부 문자열 비교
# 연산자 =~ 를 사용, if [ 조건식 ]; 이 아닌 if [[ 조건식 ]]; 을 사용
if [[ "a b c d e f" =~ "b" ]]; then
echo "included !!"
fi
# 혹은 문자열 패턴을 이용
if [[ "a b c d e f" == *"b"* ]]; then
echo "included !!"
fi
기타 팁
지연 주기
sleep .5; # 0.5초 대기
sleep 5; # 5초 대기
sleep 5s; # 5초 대기
sleep 5m; # 5분 대기
sleep 5h; # 5시간 대기
sleep 5d; # 5일 대기
'메모장 > 리눅스' 카테고리의 다른 글
[Linux/Mysql] Linux Mysql 백업 (0) | 2021.06.25 |
---|---|
[Linux] SSH Hostname 등록하기 (Hostname 설정) (0) | 2021.06.09 |
[Linux] message queue 설정법과 최대 길이 (0) | 2021.03.10 |
[Linux/Node.js] 리눅스 노드JS 디버깅 노트 (0) | 2021.03.04 |
[Linux] Nodejs Error: listen EACCES 0.0.0.0:80 에러 (0) | 2020.10.27 |