쉘 스크립트 개발: printf 및 테스트 명령의 실제 적용

목차

쉘 printf 명령

간단한 텍스트 인쇄

쉘 테스트 명령

1. 파일 테스트

2. 문자열 비교

3. 정수 비교

논리 연산:


쉘 printf 명령

셸에서 printf 명령을 사용하면 텍스트 형식을 지정하고 출력하는 데 도움이 됩니다.

간단한 텍스트 인쇄

이것은 줄 바꿈을 위해 끝에 개행 문자 \n을 추가하여 "Hello, World!" 문자열을 인쇄합니다.

printf "Hello, World!\n"

쉘 테스트 명령

쉘에서 test 명령어를 사용하면 조건이 참(True)인지 테스트하는데 사용된다. 테스트 명령은 일반적으로 쉘 스크립트에서 조건부 판단에 사용되어 조건 결과에 따라 다른 작업을 수행합니다.

1. 파일 테스트

파일 및 디렉터리 테스트를 위한 속성

-e 파일: 파일이 존재하는지 확인합니다.

-f file : 해당 파일이 일반 파일인지 확인합니다.

-d file: 파일이 디렉터리인지 확인합니다.

-s 파일: 파일이 비어 있지 않은지 확인합니다(즉, 파일 크기가 0보다 큽니다).

-r file : 파일을 읽을 수 있는지 확인합니다.

-w 파일: 파일이 쓰기 가능한지 확인합니다.

-x 파일: 파일이 실행 가능한지 확인합니다.

예:

if [ -e "myfile.txt" ]; then
    echo "文件存在"
fi

2. 문자열 비교

테스트 문자열의 내용

String1 = String2: 두 문자열이 동일한지 확인합니다.

String1 != String2: 두 문자열이 같지 않은지 확인합니다.

-n 문자열: 문자열이 비어 있지 않은지 확인합니다.

-z 문자열: 문자열이 비어 있는지 확인합니다.

예:

if [ "$name" = "Alice" ]; then
    echo "姓名是Alice"
fi

3. 정수 비교

정수 값 테스트용

int1 -eq int2: 두 정수가 동일한지 확인합니다.

int1 -ne int2: 두 정수가 같지 않은지 확인합니다.

정수1 -lt 정수2: 정수1이 정수2보다 작은지 확인합니다.

정수1 -le 정수2: 정수1이 정수2보다 작거나 같은지 확인합니다.

정수1 -gt 정수2: 정수1이 정수2보다 큰지 확인합니다.

정수1 -ge 정수2: 정수1이 정수2보다 크거나 같은지 확인합니다.

예:

if [ $age -lt 18 ]; then
    echo "年龄小于18岁"
fi

논리 연산:

논리 연산의 경우

!표현: 논리 NOT, 부정 연산.

표현식1 -a 표현식2: 논리 AND, 두 표현식이 모두 true인 경우 true를 반환합니다.

표현식1 -o 표현식2: 논리 or는 두 표현식 중 하나 이상이 true인 경우 true를 반환합니다.

예:

if [ ! -e "file.txt" -a "$user" = "admin" ]; then
    echo "文件不存在且用户是管理员"
fi

추천

출처blog.csdn.net/m0_67906358/article/details/132646588