셸 스 크 립 트 프로 그래 밍 학습 의 길 - 논리 연산 자
알림:
!논리 값 과 반대 되 는 논리 값
- a 중국어 뜻 은 (& &): 두 논리 값 이 모두 진실 반환 값 이 어야 진실 이 고 반대로 가짜 라 는 것 이다.
- o 중국어 뜻 또는 (or): 두 논리 값 은 하나 가 진실 이 고 반환 값 은 진실 입 니 다.
결론:
진짜 1 가짜 false 0
(1) - a 또는 & (논리 와) 의 연산 규칙: 양 끝 이 모두 1 이 어야 곱셈 연산 에 해당 한다.
and 1*0=0
and 0*1=0
and 1*1=1
and 0*0=0
양 끝 이 모두 1 이 어야 진실 이 고, and 가 교차 합 니 다.
(2) - o 또는 | (논리 또는) 의 연산 규칙: 양 끝 은 모두 0 이 어야 가짜 이 고 그 어떠한 한 끝 도 0 이 아니 라 진실 입 니 다.
or 1+0=1
or 1+1=2
or 0+1=1
or 0+0=0
양쪽 모두 0 이 어야 가짜 이 고, 0 이 아니면 진실 이다.병합
(3) 여기에 시스템 이 같 지 않 은 예 가 있다.
예시:
2. 실천
(1) "- a"와 "- o", 논리 연산 기 호 는 [] 에서 사용 합 니 다.
(2) "& &"와 "| |", 논리 연산 기 호 는 [[] 에서 사용 합 니 다.
(3) 괄호 양 끝 에 빈 칸 이 있어 야 합 니 다.
3. 시스템 스 크 립 트 예
4. 소결: 논리 연산 자 사용 총화
(1) [] 중 괄호 에 - a, - o!!이런 조작 부호.
(2) [[] 이중 괄호 에서 &, | |,!이런 조작 부호.
(3) 논리 조작 자 는 test 와 [] 의 괄호 를 사용한다.
(4) 여러 개 [] 사이 와 여러 개 [] 사이 또는 중간 논리 연산 자 를 임의로 혼합 하여 & & 또는 | | | 을 사용 합 니 다.
5. 종합 실례:
(1) 변수, 스 크 립 트 전송, read 읽 기 방식 으로 두 정수 의 크기 를 조건 식 (if 사용 금지) 으로 비교 하여 판단 하고 화면 출력 방식 으로 비교 결 과 를 알려 주 며 모두 3 개의 스 크 립 트 를 개발 합 니 다.스 크 립 트 전송 및 read 읽 기 방식 으로 변수의 값 을 숫자 로 판단 하고 전송 개수 가 사용자 에 게 알려 주지 않 으 면 알려 줍 니 다.
a. 스 크 립 트 전송 방식
[root@shellbiancheng ~]# cat zhengshubijiao.sh
#!/bin/sh
#
[ $# -ne 2 ]&&{
echo $"Usage :$0 {num1 and num2}"
exit 1
}
[[ "`echo "$1"|sed -r 's#[^0-9]##g'`" = "$1" ]]||{
echo "first arg must be int"
exit 2
}
[[ "`echo "$2"|sed -r 's#[^0-9]##g'`" = "$2" ]]||{
echo "first arg must be int"
exit 2
}
[ $1 -eq $2 ]&&{
echo "$1=$2"
exit 0
}
[ $1 -gt $2 ]&&{
echo "$1>$2"
exit 0
}
[ $1 -lt $2 ]&&{
echo "$10
[root@shellbiancheng ~]# sh zhengshubijiao.sh 1 1
1=1
[root@shellbiancheng ~]# sh zhengshubijiao.sh 1 e
first arg must be int
[root@shellbiancheng ~]# sh zhengshubijiao.sh e 1
first arg must be int
b. read 읽 기 방식
[root@shellbiancheng ~]# cat zhengshubijiao1.sh
#!/bin/sh
read -p "please input two num:" num1 num2
c="please input two num"
a=$num1;b=$num2
[ -z "$a" -o -z "$b" ]&&{
echo $"Usage :$c{num1 and num2}"
exit 1
}
[[ "`echo "$a"|sed -r 's#[^0-9]##g'`" = "$a" ]]||{
echo "first arg must be int"
exit 2
}
[[ "`echo "$b"|sed -r 's#[^0-9]##g'`" = "$b" ]]||{
echo "first arg must be int"
exit 2
}
[ $a -eq $b ]&&{
echo "$a=$b"
exit 0
}
[ $a -gt $b ]&&{
echo "$a>$b"
exit 0
}
[ $a -lt $b ]&&{
echo "$a0
[root@shellbiancheng ~]# sh zhengshubijiao1.sh
please input two num:1 2
1<2
[root@shellbiancheng ~]# sh zhengshubijiao1.sh
please input two num:1 e
first arg must be int
[root@shellbiancheng ~]# sh zhengshubijiao1.sh
please input two num:e 1
first arg must be int
변 수 를 정의 하 는 것 은 read 를 읽 는 a 와 b 의 값 을 부여 한 다음 에 read 를 제거 하 는 것 입 니 다. 예 를 들 지 않 겠 습 니 다.
(2) 선택 메뉴 를 인쇄 하고 웹 서 비 스 를 원 클릭 으로 설치 합 니 다.
요청:
사용자 가 1 을 입력 하면 "start installing lamp"을 출력 하고/server/script/lamp. sh 를 실행 합 니 다. 스 크 립 트 내용 은 "lamp is installing"을 출력 한 후 스 크 립 트 를 종료 합 니 다.사용자 가 2 를 입력 할 때 "start installing lnmp"를 출력 한 다음/server/script/lnmp. sh 를 실행 하고 "lnmp is installed"를 출력 한 후 스 크 립 트 를 종료 합 니 다.3 을 입력 하면 현재 메뉴 와 스 크 립 트 를 종료 합 니 다.다른 문 자 를 입력 하면 "Input error"를 알려 주 고 스 크 립 트 를 종료 합 니 다.실 행 된 스 크 립 트 에 대해 관련 조건 을 판단 해 야 합 니 다. 예 를 들 어 스 크 립 트 가 존재 하 는 지, 실행 가능 한 지 등 입 니 다.
메뉴 인쇄, 웹 서비스 설치 실현
[root@shellbiancheng ~]# cat webmenu.sh
#!/bin/bash
export PATH="/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/curl/bin:/root/bin"
path="/server/scripts"
RETVAL=0
[ -d "$path" ]|| mkdir -p $path
menu(){
cat </dev/null
if [ $? -ne $RETVAL ];then
echo "the num you input must be (1|2|3)."
exit 1
else
man
fi
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.