read(3)
-
쉘 스크립트 메뉴
다음은 모 Q&A 사이트에 답변으로 달았던 내용이다. 쉘 스크립트를 익히는 과정이기도 했고 추후 쉘스크립트 참고용도로 여기에 올린다. #!/bin/bash echo ---------------------------------------- echo 나의 명령어 메뉴에 오신 것을 환영합니다. echo ---------------------------------------- echo 1. 파일 리스트. echo 2. 파일 삭제. echo 3. 에디터 시작. echo 4. 파일 내용 보기. echo 5. 종료. echo ------------------------------------------- read -p '메뉴 번호 입력: ' NUM if [[ $NUM -eq '1' ]];then echo read -p..
2023.12.30 -
read, awk - 한 줄 읽어서 여러 변수에 할당하기
data.txt 는 식별번호, IP, 포트, 접속URL 로 구성되어 있다. 문제) test 용 IP, 포트, 접속URL 을 read 1회 실행으로 구하는 코드를 작성하라. IP, PORT, URL 변수에 할당해야 한다. data.txt 의 내용 : # 0 - dev # 1 - test # 2 - prod 0,127.0.0.1,8080,/main.do 1,test.myapp.com,7777,/index.do 2,www.myapp.com,8888,/login.do 해결과정) 1) AWK 를 써서 첫 번째 값이 '1' (test) 인 줄만 출력한다. 2) ',' 를 구분자로 해서 2, 3, 4번째 열을 출력한다. grep -v '#' data.txt --- (실행결과) 0,127.0.0.1,8080,/main..
2023.12.30 -
date, read -p, while 을 활용한 정합성 검사 loop 로직
날짜입력 후 정합성 검사 본 게시글에서는 가장 해석하기 쉬운 yyyymmdd 포맷으로 입력을 받는다. 입력된 날짜 변수값을 활용해서 전후의 날짜를 만들어내려면 입력한 날짜 데이터가 순수 숫자인지 검사해야 한다. #!/usr/bin/bash # 숫자로만 이루어져 있는지 검사하는 패턴 NUM_PAT='^[0-9]+$' while [ true ] do # 날짜를 입력으로 받아서 DATE (변수) 에 저장한다. read -p '원하는 날짜를 입력하세요: ' DATE # DATE 변수값이 숫자로만 이루어졌는지 검사(변수값 =~ 패턴) if ! [[ $DATE =~ $NUM_PAT ]]; then echo 숫자만 입력하세요. # '1223' 처럼 년도를 지정하지 않으면 통과시키지 않음. elif [ ${#DATE}..
2023.12.23