본문 바로가기

bash4

[리눅스] if문 정리 셸스크립트를 처음 접하고 딱 하루 정도가 지날 즈음 든 생각은, 아니, 셸스크립트는 파이썬보다 막장이잖아? 막연하게나마 저런 생각이 들었다. 변수 타입도 없고, 따옴표도 어떤 땐 있으나마나 하고... sh의 "1 2 3 4 5"는 파이썬의 [1, 2, 3, 4, 5]와 같다는 것도 충격이었다. 우선 콤마란 게 필요없다. 어떤 때는 괄호도 필요없다. 또 어떤 경우에는 따옴표도 필요없다ㄷㄷㄷ 하여튼, 셸스크립트의 if문은 파이썬과 상당히 비슷한 면이 있다. 간단한 if문을 써보면 파이썬은 a = 10 if a == 10: print("equal") elif a < 10: print("less than 10") else: print("greater than 10") 이런 느낌이라면, 셸스크립트는 a=9 # 등.. 2024. 2. 10.
[셸스크립트] for문의 스코프를 정하는 do와 done 먼저 파이썬에서는 for문을 통한 반복문의 범위는 들여쓰기로 결정한다.(는 점은 다들 알고 계실 것) #python3 for i in range(5): print(i) print("Keep going!") # 한 번만 출력됨 sh에서는 do와 done 사이에 반복 스코프를 넣으면 된다. #!/bin/bash for i in $* do # 들여쓰기 컨벤션이 궁금하다. echo $i done echo "Keep going!" 갑자기 궁금한 게 생겼다. 파이썬의 range 배열은 sh에서는 어떤 방식으로 만들 수 있을까? ChatGPT에게 물어보자. 이건 뭐, 다른 언어랑 비슷해 보이는 문법이라서 생소하지는 않은데, ...괄호가 두 겹이네. 신기한 건 , `for i in $*` 처럼 사용할 수도 있고, `f.. 2024. 2. 10.
[리눅스] 셸스크립트기초 - 지역변수와 전역변수 자바스크립트 같기도 하고, C 같기도 하면서, 파이썬 같기도 한... (사실 sh가 이들을 닮은 게 아니고, 얘들이 sh를 닮은 거겠지.) 셸 스크립트를 공부하는 중에, 전역변수와 로컬변수라는 개념이 내심 반가웠다. 파이썬에서는 함수 안에서 변수를 정의하면 그냥 자동으로 지역변수가 되는데, sh에서는 local 이라는 키워드를 넣어줘야 한다. #!/bin/bash language="Korean" function learn() { local learn_language="English" # 등호 좌우에 빈칸이 있으면 오류남ㅜ. 지역변수 정의 echo "I am learning $learn_language" # echo는 print와 같음. } function print_() { echo "I can spea.. 2024. 2. 10.
윈11터미널 git에서 한글문자열 제대로 표시하는 방법 윈도우11 터미널에서 WSL을 사용할 때 굉장히 쾌적하고 만족스러웠다. 하지만 딱 한 가지, 위와 같은 유니코드 한글 깨짐(?) 때문에 불편했는데 우연히 해결방법을 찾았다. 아주 간단했는데, git config --global core.quotepath off 이 한 줄로 너무너무 깔끔하게 한글이 출력된다! 출처는 windows - Unicode (utf-8) with git-bash - Stack Overflow Unicode (utf-8) with git-bash I'm having some trouble getting unicode to work for git-bash (on windows 7). I have tried many things without success. Although, I'm n.. 2022. 3. 22.