본문 바로가기

ubuntu3

[리눅스] sh파일을 리포매팅해주는 shfmt shfmt shfmt는 인스톨해야 한다. `sudo apt install shfmt`를 실행했다. 파일명 참 맘에 든다. SHell ForMaT 잖아? 사용법을 간략히 알아봤는데 vim으로 이렇게 개떡같이 짜놓았어도 `shfmt ifex.sh`를 실행하면 아래처럼 출력해준다. 단, 파일이 바뀌어 있지는 않고, 그냥 결과물만 보여준다. 원본을 이대로 수정하려면 `shfmt -w ifex.sh`로 실행하면 된다. 아름답게 바뀌긴 했는데, then을 다음 줄로 내려준다든지, 들여쓰기를 네 칸으로 해준다든지 하는 작업은 하지 않았다. 들여쓰기 네 칸을 적용하려면 '-i 4' 옵션을 추가하면 된다. 이제 좀 예뻐졌는데? 다른 옵션은 없나? -s와 -mn을 각각 실행해보니, -s는 스페이스 네 칸을 탭 하나로 만들.. 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.
[리눅스 문자열 찾기] grep 기본 사용법 grep은 파일이나 출력 등에서 특정 문자열을 찾아낼 수 있는 명령어이며, 리눅스 환경에서 가장 많이 사용되는 명령어 중 하나로 꼽힌다. 다양한 옵션이 있지만 대표적인 사용방법은 아래 세 가지다. 1. grep [패턴] [파일] 패턴에는 따옴표를 넣지 않아도 괜찮지만 패턴 중간에 스페이스가 있는 경우에는 의도한 대로 작동하지 않을 수 있으므로 따옴표를 넣어 주는 것을 추천한다. (작은 따옴표, 큰 따옴표 무관하지만 짝은 맞춰주기) 그리고 패턴에는 일부 정규식이 사용될 수 있다. # ~/.zshrc에서 if문 찾기 grep "if" ~/.zshrc 2. grep [옵션] [패턴] [파일] [옵션]은 수십개라서 한 번에 암기하기에는 많은 양이지만, grep --help 를 통해 천천히 읽어보면서 참고하면 익.. 2024. 2. 9.