간단한 쉘 스크립트로 폴더 여러 개 만들기
2 min readOct 27, 2022
모던 자바스크립트 딥다이브 스터디를 진행하면서 책의 목차 개수만큼 폴더를 만들어야 했습니다. 각 폴더 안에 markdown 파일을 넣어야 했는데 언제 cmd + c, v를 하고 있습니까. 저는 개발자니까 간단한 shell 스크립트를 만들어보았습니다.
#!/bin/bashfor var in {1..49}
do
mkdir ‘ch’$var
cd ‘ch’$var
touch sample.md
cd ../
done
로직은 단순합니다.
- 1부터 49까지 담긴 객체에서 하나씩 꺼낸 값을 var 변수에 넣는다.
- ‘ch’ 문자열과 var 를 합친 값을 이름으로 하는 폴더를 생성하고,
- 해당 폴더 안에 들어가
- sample.md 파일을 만들고 상위 디렉토리로 이동한다.
- 이 과정을 49번 반복한다.
Shebang이라고 부르는 문자 시퀀스 #!는 파일 내의 해당 문구(#!/bin/bash)의 다음 줄을 인터프리터 지시문으로 구문 분석합니다. 위 스크립트에서는 for var in {1..49}가 해당됩니다. 덧붙여, ‘#’ 문자는 주석을 나타내기 때문에 일반적으로 인터프리터에서 무시됩니다. 그러면 뒤에 따라오는 bin/bash는 무엇일까요?
bin/bash는 시스템 shell을 나타내는 실행파일입니다. 고로 #!/bin/bash는 Bash(Bourne-again shell)를 사용하여 스크립트를 실행하는 것을 의미합니다. 종종 #!bin/sh 문구도 볼 수 있는데, 이는 Bash를 포함한 시스템 shell을 사용하여 스크립트를 실행합니다.
sh 명령어로 위 script를 돌리면, 원하는 개수만큼 폴더가 만들어지고 각 폴더에 파일이 들어가있는 것을 확인할 수 있습니다. 야호!