벌써 작년이 되어 버린 KDT- AI dev 코스의 파이널 프로젝트...
그때는 남이 짠 모델 코드를 살짝 변형만 한 수준이어서 학습을 시킬 때 CLI에서 .sh 파일을 실행시키는게 뭔 의미인지 몰랐다. 그냥 arguement로 모델 학습의 하이퍼 파라미터를 바꿔준다는 것만 겨우 이해한 상태.
그 이후에는 내가 CLI에서 어떤 작업들을 했는지 나중에 확인하는 것이 확인하고 반복 작업하기가 어려워 되도록 주피터 노트북에서 파이썬으로 실행가능하게 작업을 하다가, 방통대에서 마침 UNIX 강의도 듣겠다 쉘 스크립트를 간단히 익혀 업무에 적용해보게 되었다.
쉘스크립트란?
CLI에서 실행하는 명령어들을 스크립트 파일로 저장해서 나열하여 실행할 수 있게 만든 것
만들어서 사용하는 법
1. CLI에서 vi [파일이름].sh 명령어를 사용하여 [파일이름].sh 파일을 생성하고 스크립트를 작성한 다음 저장한다.
vi [파일이름].sh
2. 스크립트 파일의 실행 권한을 열어줘야 한다.
chmod 755 [파일이름].sh
또는
chmod +x [파일이름].sh
3. 스크립트 파일이 있는 경로에서
./[파일이름].sh
를 통해 실행한다.
아규먼트를 받는다면 이때 같이 써주면 된다.
예제
1. 가장 간단한 hello world 출력 예제
#!/bin/bash
echo "Hello, World!"
(쉘 스크립트 파일의 시작은 #!/bin/bash으로 적어 bash로 실행함을 명시)
2. 입력은 read로 출력은 echo로
#!/bin/bash
read NAME
echo "Hello, $NAME!"
3. 앞에서 만든 변수를 다시 쓸 때는 앞에 $ 표시 붙여줘야함
#!/bin/bash
NAME="RollingSnowball"
echo $NAME
(변수 할당 시 띄어쓰기 안하기)
4. arguement는 순서대로 $1, $2...가 되고 $#는 아규먼트의 갯수
#!/bin/bash
echo "첫 번째 파라미터: $1"
echo "첫 번째 파라미터: $2"
echo "파라미터 개수 : $#"
5. for loop
#!/bin/bash
for i in {1..10};
do echo $i;
done
6. if 문
#!/bin/bash
echo "Pick a number from 1 to 10!"
read num
if [ $num == 3 ];
then echo "Congratulation! You picked the right number";
else echo "Sorry, You missed! Maybe next time.";
fi;
(조건절 띄어쓰기 유의하기)
참고 :
'OS > Ubuntu' 카테고리의 다른 글
가상환경과 크론탭을 활용하여 파이썬 스크립트 실행시 에러 해결 (0) | 2023.10.05 |
---|---|
우분투 환경에서 원격에서 원격으로 데이터를 카피 하는 법 (0) | 2023.05.30 |
Q. 쉘 스크립트에서 for loop 안에 조건문을 넣어 작성하는 방법은? (0) | 2022.10.19 |