쉘스크립트3 [shellscript] 중복 실행 방지 - Avoid redundant execution 쉘스크립트를 작성하다보면 중복 실행에 의해 문제가 발생하는 경우가 종종 있습니다. 이런 경우를 방지하기 위해 간단한 중복 실행 방지 코드를 적용할 수 있습니다. 실행 예하기 코드는 간단하게 1초에 한 번식 현재 시간을 출력하는 shellscript 입니다. Main function 에서 현재는 1초 sleep 후 현재 날짜를 수행하고 있습니다. 중복으로 실행할 경우 하기와 같이 1초에 1번씩 실행되어야 할 것들이 여러 번 출력되는 것을 확인할 수 있습니다. 이렇게 중복해서 실행될 경우 예상하지 못했던 문제가 발생할 수 있기에 중복 실행 코드를 추가합니다. 중복 실행 방지 코드중복 실행 방지 코드는 프로그램 실행 시 pid 번호를 특정 파일에 적어놓고 프로그램이 종료할 경우 해당 파일을 삭제합니다. 중복으.. 2021. 1. 13. [shellscript] error: garbage option 오류 shellscript 에 중복 방지 기능을 추가하던 중 "error: garbage option" 이런 오류가 발생했습니다. 이상하게도 해당 오류가 발생하고 난 후에는 제가 작성한 파일이 모두 없어져서 한참을 헤맸습니다. 오류 내용은 아래와 같습니다.error: garbage option Usage: ps [options] Try 'ps --help ' or 'ps --help ' for additional help text. For more details see ps(1). 해당 오류는 basename 을 사용하여 수행 중에 lock 파일을 생성하고 수행이 끝나면 해당 lock 파일을 삭제하여 실행파일 중복 방지를 하는 로직이였는데 문제원인은 lock 파일 이름과 실제 수행되는 실행 파일의 이름이 같아.. 2021. 1. 13. [shellscript] 실행 옵션 - getopt shellscript로 프로그램을 만들다 보면 실행 인자 및 옵션을 필요로 하는 경우가 많이 있습니다. shellscript에서 실행 옵션을 구현을 하는 방법은 getopt 함수를 쓰면 매우 간단해집니다. 이 번 포스팅에서는 제가 자주 사용하는 간단한 실행 옵션 예제를 공유하고자 합니다. 간단한 실행 옵션 예제 이 파일은 실행 옵션 기능을 확인하기 위해 간단히 만든 스크립트입니다. 크게 사용법, 실행 옵션 설정, 실행 옵션 확인 이렇게 세 부분으로 나뉘어 있습니다. 필요한 옵션을 만들 때에는 빨간색으로 표시된 부분을 주의해서 변경해야 합니다. - 인자가 있는 실행 옵션 옵션 뒤에 ":"를 붙여줍니다. 아래 예에서는 "m" 옵션과 "u"옵션이 해당합니다. - 인자가 없는 실행 옵션 옵션만 정의합니다. 아래.. 2021. 1. 8. 이전 1 다음