본문 바로가기
더운여름 셸 스크립트와 함께 해요! 열대야로 잠들기 어려울때! 불면증엔 셸스크립트! 더운여름 셸 스크립트와 함께 해요! 열대야로 잠들기 어려울때! 불면증엔 셸스크립트! "본격적인 파티전에 기본문법 cheat sheet 정리하기" https://devhints.io/bash 를 참고했습니다. https://wiki.bash-hackers.org/syntax/pe 를 참고했습니다. #!/user/bin/env bash Basic # 변수 출력하기 # $변수이름으로 출력하며, 전부 동일한 결과를 출력한다. NAME="Jhon" echo $NAME #=> Jhon echo "$NAME" echo "${NAME}" # 문자열 출력하기 # ''안에서 변수는 문자 그 자체이고 ""안에서 변수명은 참조다. NAME="John" echo "Hi $NAME" #=> Hi Jhon echo .. 2020. 8. 25.
[bash script]더운여름 셸 스크립트와 함께 해요! 더운여름 셸 스크립트와 함께 해요! 실내온도 30도! 더운 여름휴가를 셸스크립트와 함께 보내는 시원한 프로젝트 한빛미디어 - 유닉스 리눅스 셸 스크립트 예제 사전을 요약한 내용입니다. 1) 실행권한 추가chmod +x "$script name"2) 문법 에러 확인 문법에러가 있으면 표시되고, 없다면 아무것도 표시되지 않는다.sh -n "$script name"001 명령어 옵션 처리하기 #!/bin/sh # -a옵션이 지정되었는지 판단하는 셸 변수 a_flag # 0으로 초기화하고 설정되었다면 1로 바꾸는것이 일반적이다 a_flag=0 separator="" # 실제로 getopts로 옵션을 해석한다. 옵션에 사용된 문자는 getopts인수로 나열하며 # 그 옵션 자체가 인수를 받는것은 콜론으로 지정한다.. 2020. 8. 24.
서버가 올라왔는지 확인하는 window batch ver.2 @echo off :loop goto ck_server_status goto loop :ck_server_status FOR /F "tokens=2" %%A IN ('curl -s -X GET -I https://soheemon.tistory.com/ --connect-timeout 5') DO ( IF "%%A" == "200" ( echo 서버가 출근했어요!! ) ELSE ( echo 서버가 잠시 쉬고있어요... ) timeout /t 5 > NUL goto loop ) :quit ping 이랑 비슷하게 서버가 올라와있는 상태/내려간 상태를 5초간격으로 보여줍니다. * CURL 타임아웃은 5초, request간격 역시 5초 2020. 8. 18.
서버가 올라왔는지 확인하는 window batch file @echo off :loop goto ck_server_status goto loop :ck_server_status FOR /F "tokens=2" %%A IN ('curl -s -X GET -I 서버URL --connect-timeout 5') DO ( IF "%%A" == "200" ( msg * "서버가 살아있당!!!" goto quit ) timeout /t 5 > NUL goto loop ) :quit 벼르고 벼르던것을 드디어 짜서 기분이 좋다 ㅎㅎ status code가 200이 나올때까지 반복해서 호출하는 프로그램이다. 동작만 확인한거라.. 서버가 죽어있을땐 까만 화면만 떠있는데. 확인중이라는 문구를 넣으면 좋을것같다. 2020. 8. 14.
2020 08 08 오랜만에 도서관에 왔다. 얼마전 request객체의 getParameter메서드는 URL에 붙어서 들어오는 쿼리스트링을 가져오기 때문에 서블릿에서는 set할수 없다는 사실을 깨달았다. 서블릿에서 set이 가능한 영역은 Attribute다. 서블릿에 대해 내가 모르는것이 많은것 같아서 서블릿 JSP기초책을 오랜만에 펼쳤는데.... 내가 일하면서 궁금했던것, 모르고 지나쳤던것, 또 간절히 알고싶었던 기초 밑거름이 되는 내용들이 정말 많았다... 중요한것은 스프링, 스트럿츠, 스프링부트.. 등의 프레임워크가 아니라 가장 기반이 되는 지식이라는것을 새삼 다시 깨달았다... 당분간 이론공부에 치중해야겠다... 2020. 8. 8.
2020 8 3 진행중인 프로젝트의 API를 60% 설계 및 구현했다. 스트럿츠 프레임워크는 url이 하나라서 구조를 깔끔하게 잡기가 까다롭다.. 아직 익숙해지지 않아서 겠지. 서블릿객체와 메서드을사용하는데에는 크게 어려움이 없는데, 스트럿츠에 익숙하지 않아서 지원하는 기능들을 활용 할 수 없다는 점이 아쉽다. 기능단위로 쪼개서 구현하고 있는데 오늘 새로운 기능을 개발하기 위해 기획서를 보던 중 간단하게 생각했던 기능이 사실 간단하지 않다는것을 깨달았다. 기존에 모듈화해놓은 메서드를 조합해서 쉽게 구현될줄 알았지만.. 결국 새로운 쿼리를 넣고 기존 메서드와 로직의 흐름을 수정해야겠다. 기획서 분석과 설계에 시간을 더 투자하지않은것이 후회가 된다. 지금까지 한가지 잘했다고 생각한점은 첫번째로 하위에서 예외가 발생하면 로그.. 2020. 8. 3.