Bash 스크립팅은 개발자가 Linux에서 작업을 자동화하는 데 필수적인 도구입니다.
Bash 스크립트를 사용하여 로컬에서 개발 작업(예:배포용 파일 업로드, 앱 컴파일 또는 대량 이미지 크기 조정)을 자동화하고 서버 측 작업(예약된 이메일 보내기, 일정 간격으로 데이터 수집 또는 장치에 알림 보내기)을 자동화할 수 있습니다. ).
다른 작업이나 변수의 결과에 따라 일부 작업을 실행하고 싶을 것입니다. 여기서 if ... else 너를 도울 것이다. Bash 스크립트에서 이러한 의사 결정 프로세스를 조건문을 사용하여 호출합니다. .
이 가이드에서는 if… else에 대한 세부정보와 사용 예를 제공합니다. Bash의 명령문.
if 사용 성명서
조건이 true인 경우 간단한 if 문은 포함된 작업을 실행하며 다음과 같습니다.
if CONDITIONS; then ACTIONS fi
전체 예:
#!/bin/bash if [ 2 -lt 3 ]; then echo "2 is less than 3!" fi
참고:
- 모든 bash 스크립트는 줄로 시작합니다. #!/bin/bash
- -lt 연산자는 첫 번째 값이 두 번째 값보다 작은지 확인합니다. 두 번째 값이 첫 번째 값보다 큰지 확인하려면 -gt을 사용합니다.
- 논리 연산자 목록을 계속 읽으십시오.
- 에코를 사용하고 있습니다. 명령줄에 텍스트를 출력하는 명령
- 만약 문장은 항상 fi 로 끝납니다. 종료
else 사용 성명서
일련의 조건에 따라 작업을 수행한 다음 다른 작업을 수행하려는 경우 만 이러한 조건이 실패하면 else를 사용할 수 있습니다. 성명:
#!/bin/bash echo -n "Enter number: " read number if [ $number -lt 3 ]; then echo "$number is less than 3!" else echo "$number is not less than 3!" fi
참고:
- 값을 비교하고 텍스트를 출력하기 위해 위와 동일한 요소를 계속 사용하고 있습니다.
- 읽기 사용자 입력을 받는 명령
- 나중에 사용할 수 있도록 변수를 사용하여 값을 저장합니다.
elif 사용 (Else If) 문
여러 조건 세트를 확인하고 각 테스트가 true인 경우 다른 작업을 수행하려면 elif를 사용하세요. (else if) 문:
#!/bin/bash echo -n "Enter number: " read number if [ $number -lt 3 ]; then echo "$number is less than 3!" elif [ $number -eq 3]; then echo "$number is equal to 3!" else echo "$number is not less than 3!" fi
if의 여러 조건 성명서
확인하려는 조건이 여러 개인 경우 && (그리고 ) 및 || (또는 ) 연산자가 작업을 수행해야 하는지 여부를 결정합니다.
#!/bin/bash echo -n "Enter number: " read number if [[ $number -lt 3 ]] && [[ $number -lt 0 ]]; then echo "$number is less than three and is negative" elif [[ $number -lt 3 ]] || [[ $number -gt 6 ]]; then echo "$number is not negative, but is less than 3 or greater than 6" else echo "$number is greater than3 and less than 6" fi
문 중첩
if를 배치할 수 있습니다. 다른 if 안의 문 진술:
#!/bin/bash echo -n "Enter number: " read number if [$number -gt 3]; then echo "$number is greater than 3" if [$number -gt 6]; then echo "$number is also greater than 6" else echo "$number is not also greater than 6" fi fi
비교 연산자
위의 예에서는 -lt를 사용했습니다. (미만), -gt (보다 큼) 및 = (같음) 연산자. 다음은 일반적으로 사용되는 다른 논리 연산자입니다.
숫자 비교
$number1 -eq $number2 : Returns true if the variables are equal $number1 -gt $number2 : Returns true if $number1 is greater than $number2 $number1 -ge $number2 : Returns true if $number1 is equal to or greater than $number2 $number1 -lt $number2 : Returns true if $number1 is less than $number2 $number1 -le $number2 : Returns true if $number1 is equal to or less than $number2
문자열 비교
$string1 = $string2 : Returns true if $string1 and $string2 are equal $string1 != $string2 : Returns true if $string1 and $string2 are not equal
위에 표시된 것처럼 비교 표현식의 결과를 반대로 하려면 ! (NOT) 연산자 앞의 *!=는 NOT EQUALS를 의미합니다.
문자열을 비교할 때는 항상 큰따옴표로 묶어서 공백이 bash 스크립트.
또한 문자열이 포함된 변수를 따옴표로 묶어 잘못 해석되지 않도록 해야 합니다.
#!/bin/bash echo -n "Enter string: " read string if ["$string" = "hello there!"] echo "You said hello there!" fi
파일 또는 디렉토리 상태 확인
-d $filepath : Returns true if the $filepath exists and is a directory -e $filepath : Returns true if the $filepath exists regardless of whether it's a file or directory -f $filepath : Returns true if the $filepath exists and is a file -h $filepath : Returns true if the $filepath exists and is a symbolic link -r $filepath : Returns true if the $filepath exists and is readable -w $filepath : Returns true if the $filepath exists and is writable -x $filepath : Returns true if the $filepath exists and is executable
결론
자신만의 Bash 스크립트를 만들면 엄청난 시간을 절약할 수 있으며 기본 구성 요소를 알면 매우 간단하게 작성할 수 있습니다.
만약… 그렇지 않으면 문을 사용하면 스크립트가 사용자 입력 또는 파일 상태에 응답하는 방식을 제어할 수 있습니다.
자세히 알아보려면 다른 Bash 기사를 확인하세요.!