내 가 사 용 했 던 Linux 명령 의 if - Bash 의 조건 판단 문
본문 링크: http://codingstandards.iteye.com/blog/780156 (전재 출처 를 밝 혀 주세요)
용도 설명
Shell 의 조건 판단 문 구 는 다른 프로 그래 밍 언어 와 유사 합 니 다.
어떤 조건 판단 방식 이 있 는 지 알 아야 한다 면, man test 를 통 해 도움 을 받 을 수 있다.
상용 형식
서식 1
if 조건;then
문장
fi
서식 2
if 조건;then
문장
else
문장
fi
서식 3
if 조건;then
문장
elif 조건;then
문장
fi
격식
if 조건;then
문장
elif 조건;then
문장
else
문장
fi
사용 예시
예시 1
if [ "foo" = "foo" ]; then
echo expression evaluated as true
fi
[root@jfht ~]# if [ "foo" = "foo" ]; then > echo expression evaluated as true > fi expression evaluated as true [root@jfht ~]#
예시 2
if [ "foo" = "foo" ]; then
echo expression evaluated as true
else
echo expression evaluated as false
fi
[root@jfht ~]# if [ "foo" = "foo" ]; then > echo expression evaluated as true > else > echo expression evaluated as false > fi expression evaluated as true [root@jfht ~]#
예시 3
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
echo expression evaluated as true
else
echo expression evaluated as false
fi
[root@jfht ~]# T1="foo" [root@jfht ~]# T2="bar" [root@jfht ~]# if [ "$T1" = "$T2" ]; then > echo expression evaluated as true > else > echo expression evaluated as false > fi expression evaluated as false [root@jfht ~]#
예시 4 명령 행 매개 변수 수량 판단
파일 if4.sh
#!/bin/sh
if [ "$#" != "1" ]; then
echo "usage: $0 <file>"
exit 1
fi
[root@smsgw root]# cat if_4.sh #!/bin/sh if [ "$#" != "1" ]; then echo "usage: $0
예제 5 파일 에 어떤 문자열 이 포함 되 어 있 는 지 판단 합 니 다.
if grep -q root /etc/passwd; then
echo account root exists
else
echo account root not exist
fi
[root@jfht ~]# if grep -q root /etc/passwd; then > echo account root exists > else > echo account root not exist > fi account root exists [root@jfht ~]#
예시 6 파일 이 존재 하 는 지 판단 하기
if [ -e myfile ]; then
echo myfile exists
else
touch myfile
echo myfile created
fi
[root@jfht ~]# if [ -e myfile ]; then > echo myfile exists > else > touch myfile > echo myfile created > fi myfile created [root@jfht ~]# if [ -e myfile ]; then > echo myfile exists > else > touch myfile > echo myfile created > fi myfile exists [root@jfht ~]# ls -l myfile -rw-r--r-- 1 root root 0 10-09 20:44 myfile
예 7. 두 파일 이 같 는 지 판단 한다.
echo 1 >file1
echo 2 >file2
if ! diff -q file1 file2; then
echo file1 file2 diff
else
echo file1 file2 same
fi
[root@jfht ~]# echo 1 >file1 [root@jfht ~]# echo 2 >file2 [root@jfht ~]# if ! diff -q file1 file2; then > echo file1 file2 diff > else > echo file1 file2 same > fi Files file1 and file2 differ file1 file2 diff [root@jfht ~]#
문제 사고
1. 문자열 이 비어 있 지 않 은 것 을 어떻게 판단 합 니까?
2. 파일 이 비어 있 지 않다 는 것 을 어떻게 판단 합 니까?
3. 실행 가능 한 파일 을 어떻게 판단 합 니까?
4. 목록 은 어떻게 판단 하나 요?
5. 수치 크기 판단 은 어떻게 합 니까?
관련 자료
【1】BASH Programming 6.1 Dry Theory
[2] 유 태산 의 블 로그 조건 판단
돌아 가기 내 가 사 용 했 던 Linux 명령 시리즈 총 디 렉 터 리
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux Shell 프로 그래 밍 - 텍스트 처리 grep, sed사용자 가 지정 한 '모드' 에 따라 대상 텍스트 를 일치 하 게 검사 하고 일치 하 는 줄 을 인쇄 합 니 다. ##포함 되 지 않 음, 역방향 일치 \ ##키워드 앞 뒤 가 맞지 않 고 키워드 만 일치 합 니 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.