본문 바로가기

bash

(6)
[bash] loop돌때 파일의 맨 마지막 라인이 출력되지 않는 문제 만약 test.txt 파일에 아래와 같은 정보가 있다하자. 1 2 3 4 5 이를 loop를 돌면서 출력하는데, 마지막 문자는 출력되지 않는 경우가 있다. #!/bin/bash while read -r line ; do echo "$line"; done <
[bash] shell 스크립트에서 set +e와 set -e 명령어 기능 set -e 쉘 스크립트 명령어 중 하나의 명령어가 실패하면 다음 명령어를 수행하지 않고 스크립트를 종료한다. 예를들면 아래와 같다. 1 2 3 4 5 #!/bin/bash set -e rm -rf target mkdir target cs 위 코드에서 만약 rm -rf가 실패하면 mkdir를 수행하지 않는다. 주의할 점은 명령어 수행후 리턴코드가 0인지 아닌지를 검사하기 때문에, 반환 값이 없는 명령어 수행의 경우 오류로 판단하기도 한다. set +e 에러가 발생해도 다음명령어를 계속 수행한다. 1 2 3 4 5 #!/bin/bash set +e rm -rf target mkdir target cs rm -rf 가 실패해도 mkdir를 수행한다.
[bash] 리눅스 쉘 스크립트에서 for문 사용법 및 예제 리눅스 bash 쉘 스크립트에서 for문을 사용하는 방법에 대해서 알아보자. 어느 프로그래밍 언어든 조건문과 반복문은 자주 쓰기 때문에 잘 익혀두면 많이 편하다. (이러면서 저는 매일 까먹고 포스팅 찾아봄...) 아래 for 문 설명에서는 seq에 대한 설명은 제외했습니다! for 반복문 사용 방법 1 2 3 4 for 변수 in 범위 do # 명령 done cs 반복문의 기본 구조는 위와 같다. for의 in 뒤에 범위에는 리스트나 배열 등이 올 수 있다. 반복할 명령문은 do - done 사이에 위치해 있다. 그럼 하나하나 예제를 보면서 사용 방법을 숙지해보자! for 반복문 사용 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 #!/bin/bash for var in A B C D E d..
[bash] 리눅스 쉘 스크립트에서 sleep 함수 사용법 리눅스 bash 쉘스크립트의 sleep 명령어를 통해 프로그램 실행을 일시적으로 정지할 수 있다. sleep 명령어는 아래와 같이 사용할 수 있다. sleep 명령어 사용법 sleep 1 # 1초 일시 정지 sleep 1s # 1초 일시 정지 sleep 1m # 1분 일시 정지 sleep 1h # 1시간 일시 정지 sleep 1d # 1일 일시 정지 위와 같이 sleep 명령어에 s(초, second), m(분, minute), h(시간, hour), d(일, day) 단위로 원하는 값을 입력하면 해당 시간만큼 프로그램을 일시정지한다. 따로 단위를 붙히지 않으면 기본적으로 초 단위로 인식을 한다. sleep 명령어 예제 1 2 3 4 5 #!/bin/bash echo "Hello" sleep 5 echo..
[bash] 쉘 스크립트 조건문 사용법 이전 글에서 쉘 스크립트로 사용자 입력을 받는 방법과 출력하는 방법에 대해서 다뤄보았다. 그렇다면 사용자의 입력에 따라 출력을 다르게 하고 싶을 때는 어떻게 해야할까? bash 쉘 스크립트에서는 다른 언어들과 마찬가지로 조건문에서는 if문을 제공한다. 그렇다면 if 조건문 문법에 대해서 살펴보자. 기본 구조 1 2 3 4 5 6 7 8 if [ expression ] ; then 명령어 elif [ expression ] ; then 명령어 else 명령어 fi cs bash 쉘 스크립트의 조건문 구조는 위와 같다. 주의할 점은 조건과 '[' ']' 사이에는 공백이 있어야 한다. 그렇다면 조건은 어떻게 넣을 수 있을까? bash 쉘 스크립트에서 expression에 사용할 수 있는 비교 방법은 아래와 같..