본문 바로가기

분류 전체보기91

[쉘 스크립트] select, while, until **해당 포스트는 Ubunto 22.04와 xShell을 기반으로 진행한 포스팅입니다.   1. select : select는 사용자에게 옵션 목록을 제공하고, 선택을 입력받는데 사용된다. 간단한 인터페이스를 제공하는 스크립트를 작성할 때 주로 사용된다. // select문 기본 구조PS3="최초 표시할 안내 문구"select 변수 in 옵션1 옵션2 ...; do # 사용자 입력에 따라 실행할 명령 breakdone** 쉘 스크립트에서 PS3는 select 문에서 사용자 입력을 받을 때 표시되는 프롬프트 메시지를 정의하는 데 사용  예제) select와 case를 적절히 사용하여, 구글, 네이버, 다음, 종료 옵션을 만들고, 번호를 입력하여 선택할 수 있게 하는 스크립트를 작성하라. #!/bin/.. 2024. 11. 18.
[쉘 스크립트] sed, if, read, case **해당 포스트는 Ubunto 22.04와 xShell을 기반으로 진행한 포스팅입니다.   1. sed: 파일 내의 특정한 값을 찾아 치환하는 명령어  실습) ubunto에서 네트워크 정보가 들어있는 /etc/netplan/00-installer-config.yaml 파일의 정보를 sed를 이용하여 변경해보자(yaml 형식이라 형식이 조금만 잘못 바뀌어도 오류가 생기기 때문에 sed를 사용해주면 편할거 같다)sed -i 's/10.12.1.100/10.12.0.100/g' /etc/netplan/00-installer-config.yaml// -i : 파일 직접 수정(백업 생성 안함)// s : 지정된 패턴을 찾아 대체(substitute)// g : 모든 해당되는 패턴을 바꾼다=> g 플래그가 없을 경.. 2024. 11. 18.
[쉘 스크립트] $는 어떤 용도로 쓰일까? **해당 포스트는 Ubunto 22.04와 xShell을 기반으로 진행한 포스팅입니다.    이번 포스팅에서는 쉘 스크립트에서 자주 사용하는 $의 용도에 대해 알아보자. $이 굉장히 자주 쓰이기 때문에 한번 정리하면 좋을 거 같아서 이번 포스팅을 작성하게 됐다.   주로 사용되는 $의 용도는 다음과 같다. 용도예시변수 참조$변수명, $USER특수 변수$1, $2, $0, $@, $?, $$, $# 명령어 치환$(command)변수 확장${var), $(var:-default}배열, 리스트 참조${list[0]}, ${list[@]}리터럴 $\$ 선언된 지역 변수와 환경 변수를 $를 이용해 참조하는 것은 이미 어느 정도 익숙할테니, 다른 용도들에 대해서만 이번 포스팅에서 다뤄보겠다. 변수 선언 또는 참조가.. 2024. 11. 16.
[쉘 스크립트] 변수, Quoating, Redirection, Pipeline **해당 포스트는 Ubunto 22.04와 xShell을 기반으로 진행한 포스팅입니다.  1. 로컬 변수와 환경 변수 설정 로컬 변수(Local Variable) - 소문자로 표기: 현재 셸 세션에서만 사용되는 변수로, 새로 셸을 실행시킨 후에는 사용이 불가능하다. root@ubunto:~# var1="hello" // 로컬 변수 선언root@ubunto:~# echo var1 // 로컬 변수 호출helloroot@ubunto:~# bash //새로운 shell 실행 root@ubunto:~# echo var1 // 실행 불가 환경 변수(Environment Variable) - 대문자로 표기: 운영 체제나 시스템의 실행 환경에서 설정된 변수로, 시스템이나 세션 전체에서 접근이 가능하며, 새로 셸을 실.. 2024. 11. 15.
[Linux] HTTP 1. 웹 서비스에 사용되는 프로토콜: HTTP(HyperText Transfer Protocol) HTTP(hypertext transfer protocol)은 응용 계층(application, L7)의 프로토콜로 HTML(HyperText Markup Language)를 전송하는 데 사용되는 프로토콜이다. 최근에는 HTML 이외에도 모든 웹 관련 API 통신에 이용되고 있다. HTTP는 기본적으로 비연결성(Connectionless), 무상태성(Stateless) 특성을 가지고, 요청(request)/응답(response) 동작에 기반하여 아주 단순한 방식으로 서비스를 제공한다. 하지만 HTTP 통신은 신뢰성 있는 데이터 통신이 필요하기 때문에 전송 계층(transfer, L4) 프로토콜인 TCP 위에.. 2024. 10. 17.
[Linux] Local Repository 만들기 1. Repository가 뭐야? Local Repository는 왜 필요해? Repository란 rpm 기반의 Linux 소프트웨어 패키지들이 저장된 저장소이다. Repository는 일반적으로 외부의 서버에 존재하기 때문에 /etc/yum.repos.d 디렉토리에 저장된 정보를 기반으로 원격으로 rpm 패키지를 가져오게 된다. Linux를 사용하다 보면 rpm 명령어를 이용해 소프트웨어 패키지를 설치하는 경우도 있지만,  rpm 명령어를 사용할 경우, 의존성 문제를 직접 해결해야 하기 때문에, 네트워크가 된다면 dnf(yum)을 사용해 패키지를 설치하는 경우가 훨씬 편리하다는 것을 알 수 있다.   그렇다면 사내 폐쇄망 같은 상황에서는 그냥 rpm으로 할 수 밖에 없는 것일까? 패키지를 다운 받아야.. 2024. 10. 16.