더운여름 셸 스크립트와 함께 해요! 열대야로 잠들기 어려울때! 불면증엔 셸스크립트!
"본격적인 파티전에 기본문법 cheat sheet 정리하기"
https://devhints.io/bash 를 참고했습니다.
https://wiki.bash-hackers.org/syntax/pe 를 참고했습니다.
#!/user/bin/env bash
Basic
# 변수 출력하기
# $변수이름으로 출력하며, 전부 동일한 결과를 출력한다.
NAME="Jhon"
echo $NAME #=> Jhon
echo "$NAME"
echo "${NAME}"
# 문자열 출력하기
# ''안에서 변수는 문자 그 자체이고 ""안에서 변수명은 참조다.
NAME="John"
echo "Hi $NAME" #=> Hi Jhon
echo 'Hi $NAME' #=> Hi $NAME
# 실행 결과를 변수로 저장하기
echo "I'm in $(pwd)" #=> $(명령어)
echo "I'm in `pwd`" #=> 백틱으로 감싸진 부분은 명령어로 인식.
# 명령 실행 결과에 따라서 결정한다
# 나 이거 알아! 자바스크립트에도 비슷한거 있어!
ping 8.8.8.8 || echo "ping failed" #=> ||는 fail이면 뒤에것도 검사한다.
git commit && git push #=> &&는 true면 뒤에것도 검사한다.
# 함수 기본적인 함수 선언
get_name() {
echo "Jhon"
}
echo "You are $(get_name)" #=> bash 명령어 호출하는거랑 모양이 똑같네.
# 조건문
if [[ -z "$string" ]]; then
echo "String is empty!"
elif [[ -n "$string" ]]; then
echo "String is not empty"
fi
# 유용한듯해! 펼치기!
echo {A,B}.js
{A, B} #=> A B
{A,B}.js #=> A.js B.js
{1..5} #=> 1 2 3 4 5
변수 가지고 놀기 :P
#문자열 쪼개기
name="Sohee"
echo ${name}
echo ${name/S/s} #=> sohee 문자를 대체한다.
echo ${name:0:2} #=> So 쪼개기. 0에서 2글자
echo ${name::2} #=> So 쪼개기. +면 왼쪽에서 2글자만 보이기
echo ${name::-1} #=> Sohe 쪼개기. -1이면 오른쪽에서 한글자만 제외
echo ${name:(-1)} #=> e -면 오른쪽에서부터 자른다.
echo ${name:(-2):1} #=> e 오른쪽에서 두글자를 잘라와서 거기서 한글자만 가져옴
#하위 문자열 제거
${parameter%pattern} #=> parameter에서 %이하에 패턴을 삭제해준다.
${FILENAME%.*} #=> bash_chackers.txt --> bash_chackers
${FILENAME##*.} #=> bash_chackers.txt --> txt
${PATHNAME%/*} #=> /home/bash/bash_hackers.txt --> /home/bash
${PATHNAME##*/} #=> /home/bash/bash_hackers.txt --> bash_hackers.txt
${FOO%suffix} #=> 접미사 제거
${FOO#suffix} #=> 접두사 제거
${FOO%%suffix} #=> 긴 접미사 제거
${FOO##suffix} #=> 긴 접두사 제거
${FOO/from/to} #=> 첫번째 일치 항목만 바꾸기
${FOO//from/to} #=> 일치 항목 전부 바꾸기
${FOO/%from/to} #=> 접미사 바꾸기
${FOO/#from/to} #=> 접두사 바꾸기
# 한줄주석
: '
여러줄
주석
입니다
특이하네요
하하하
'
'Today I learned' 카테고리의 다른 글
2020 09 01 (0) | 2020.09.01 |
---|---|
셸스크립트 문법 정리 (0) | 2020.08.25 |
[bash script]더운여름 셸 스크립트와 함께 해요! (0) | 2020.08.24 |
서버가 올라왔는지 확인하는 window batch ver.2 (0) | 2020.08.18 |
서버가 올라왔는지 확인하는 window batch file (0) | 2020.08.14 |
댓글