본문 바로가기

Linux/Bash5

[Bash] 문자열 자르는 방법 Bash 스크립트로 문자열 데이터를 다룰 때, 문자열의 일부를 잘라서 사용해야하는 경우도 있다. 문자열을 자르는 방법에 대해서 알아보자. 문자열 자르기 - 인덱스로 자르기 Bash 스크립트에서 문자열의 일부를 잘라서 사용해야 하는 경우 다음과 같은 문법을 사용하면 된다. ${str:offset:length} str 변수에 담겨있는 문자열의 offset 부터 length 만큼 잘라오겠다는 의미다. 예를 들어 #!/bin/bash str="Hello, World" echo "${str:0:5}" echo "${str:7:5}" Hello, World 라는 문자열을 담고 있는 str 변수를 ${str:0:5}로 접근하면 0번 문자부터 5개의 문자를 잘라서 가져온다. 즉 Hello 문자열이 얻어진다. 마찬가지로.. 2022. 12. 3.
[Linux] Bash case 조건문 문법 리눅스에서 Base 스크립트를 작성할 때 사용할 수 있는 조건문 중 `case`문이 있다. 마치 Java에서 switch - case문처럼 Base에서도 조건문을 간단하게 사용할 수 있다. Bash - case문 Base에서 case문은 다음 문법을 따른다. case 기준문자열 in 문자열1) 명령 명령 ;; 문자열2) 명령 명령 ;; *) 명령 명령 ;; esac 기준문자열에 해당하는 값을 '문자열1', '문자열2'와 비교하여 분기한다. 각 분기의 마지막에는 ;;를 찍어서 분기의 종료를 알려줘야한다. *)는 Java의 switch-case 문에서의 default와 같다. '문자열1', '문자열2'와 같지 않은 모든 경우가 이 곳으로 분기한다. 분기의 조건은 OR 조건으로 여러개를 묶을 수도 있다. ca.. 2020. 11. 17.
[Linux] Bash에서 사용자 입력 받기 Bash 스크립트를 작성하면서 사용자 입력을 받아야 할 경우가 있다. 대체로 중요한 정보를 삭제하거나 위험한 명령을 실행할 때 한번더 사용자에게 물어보는 식으로 사용한다. bash에서 사용자의 입력은 read 명령으로 받는다. echo "Input some value" read value echo "Your value : ${value}" read 다음에 오는 변수에 사용자의 입력을 담아준다. 한 번에 두 개 이상의 입력을 받을 수도 있다. echo "Input two values" read value1 value2 echo "Your value1 : ${value1}" echo "Your value2 : ${value2}" read 다음에 변수를 쓰지 않으면 $REPLY라는 예약 변수에 값을 담아준다... 2020. 11. 15.
[Bash] 반복문(for, while 문) 사용법 및 예제 리눅스에서 Bash 스크립트를 작성할 때 '반복문'을 사용하면 편하다. 프로그래밍 언어의 여러 구성 문법중 Bash의 반복문에 대해 정리해보겠다. Bash에서 반복문은 다음 문법을 따른다. for 변수 in 범위조건 do 반복할 작업 done in 키워드 뒤쪽에 나오는 범위 조건을 반복(iterate)하면서 반복할 작업을 실행한다. 반복할 작업은 do와 done 사이에 작성하면 된다. Bash 반복문 - 기본문법 반복하려는 대상을 공백 문자로 구분되는 리스트 형태로 입력할 수 있다. for var in 1 2 3 4 5 6 7 do echo ${var} done 이런식으로 입력하면 in 키워드 뒤에 쓴 값을 하나씩 var 변수에 남아서 반복문 바디 부분을 실행한다. 이 명령을 실행하면 다음 결과를 얻게 .. 2020. 11. 14.
[Bash] 조건문 (if)문법, 사용법 및 예제 리눅스에서 Bash 스크립트를 작성할 때 조건문의 다양한 사용 문법이 생각이 안 날때가 많았다. 스크립트를 작성하거나 작성된 스크립트를 해석할 때 도움이 되고자 Bash 조건문의 문법을 정리해보자. Bash에서 조건문은 다음과 같은 문법을 따른다. if [ expression1 ] then statement1 elif [ expression2 ] then statement2 else statement3 fi 일반적인 프로그래밍 언어의 조건문과 크게 다르지 않다. expression1, expression2 부분에 사용할 수 있는 비교 연산은 다음과 같다. Bash if - 정수 비교 사용예 의미 if [ "$a" -eq "$b" ] $a와 $b가 같은 경우 (equal) if [ "$a" -ne "$b".. 2020. 11. 4.