목차
쉘 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