일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 피들러
- 인테리어
- 문자열
- 윈도우 8
- 네트워크
- 자바스크립트
- 진단항목
- 인증 및 세션관리
- D330-10igm
- HTML5
- retropie
- Lenovo D330-10igm
- ubuntu
- c#
- network
- 이보드
- 고전게임
- 고전게임기 만들기
- D330
- 안드로이드
- WEB
- 한컴오피스
- 우분투
- 웹
- 셀프인테리어
- fiddler
- 단열
- Web Programming
- 보안
- ASP.NET
- Today
- Total
목록MEMO/기술 자료/Bash/Shell 4
Kinesis´s Open Document
"스크립트 길이에 따른 관리 Tip"에서 작성한 대로 main 스크립트에서 하위 스크립트를 불러와 상호 연계를 하려면 실행 전에 미리 작성해 두었던 파일들이 온전히 존재하는지 검사할 필요가 있다. 스크립트 실행의 정확도, 즉 신뢰도를 올리기 위한 방법이기도 하고. 어느정도 무결성을 보장하고자 하는 노력의 일환이다. 그걸 위해 미리 테스트 해 두었던 파일 존재 여부 확인 함수는 아래와 같다. #!/bin/bash ############################################################################################### # File Exist Check # -------------------------------------------------..
한 동안(in the past few years) 인프라진단 스크립트 작성 이후 몇가지 애로사항이 있었다. 그것은 바로 "진단 스크립트의 길이가 너무 길어 관리가 어렵다."는 사실 주석 외에도 이것저것 처리하고 구문에 변수처리등을 하다보니 5천줄이 넘는 진단스크립트는 직접 수정하기에도 다소 어려움이 있었으나, 협업하는 사람들이 더욱 어려움을 많이 느끼는 것 같았다. 스위칭 변수를 지원하고 함수도 사용하고 있으며, 각 항목별 처리를 패턴화 시켜서 작성이 되어 있다고는 하나, 1. 구문을 분석하기도 어렵고 2. 수정하고자 하는 항목을 찾으로 방대한 량의 스크롤을 내리는것도 일이다. 고로 개선을 위해 스크립트를 분할하는 것을 염두에 두었는데, source 로 include 하듯이 불러올 수 있고, 불러온 스크..
진단 스크립트 등 root 권한으로 수행해야 하는 스크립트 작성시 필요한 체크. 개념1. whoami 를 이용해 root 계정으로 실행되고 있는지 확인한다. 개념2. uid 값이 실제 0 인지 추가 검증을 수행한다. #!/bin/bash if [[ "$(whoami)" != "root" && $(id -u) -gt 0 ]]; then echo -en '\033[0;33m' echo 'This script must be run with root privileges.' echo '이 스크립트는 root 권한으로 실행되어야 합니다.' echo -en '\033[0m' exit 126 fi 절차지향형으로 코드 내에 넣어서 순차처리하는 것도 방법이지만, 함수 및 별도 파일로 만들어 호출해 사용하는 것도 고려해볼 ..
개념1. "echo $$" 명령어를 사용하면 현재 PID 를 출력할 수 있다. 개념2. "echo $0" 명령어를 사용하면 현재 실행중인 스크립트의 파일명을 출력할 수 있다. 개념3. 현재 파일이 동작되는 pid 를 임시 파일($0.pid)로 생성하여 실행 여부를 판단할 수 있게 한다. 개념4. pid 값을 갖은 임시 파일이 존재하면 메시지를 출력하고 스크립트를 종료한다. 개념5. pid 값을 갖은 임시 파일이 없다면, 임시 파일($0.pid)를 생성하고 다음 처리를 이어간다. 아래는 증명코드. #!/bin/bash ############################################################################################### # 중복실행 방지 ..