1. 변수
1. 변수 명명 규칙: 문자 또는 밑줄로 시작하고 그 뒤에 숫자, 문자 또는 밑줄이 옵니다. 함부로 이름을 지정하지 말고, 변수를 보면 그 의미를 추측할 수 있습니다. 변수 이름
2. 변수 할당 echo ${egon_salary}yuan
20000yuan4. bash에서는 데이터 유형을 선언할 필요가 없습니다. 기본값은 문자 유형입니다.2. * / %[root@bogon ~]# echo $[5%2]1
2. 할당 연산자: =, +=, -=, *=, /=, %=
[root@bogon ~]# x=10
[root@bogon ~]# ((x+=1))[root@bogon ~]# echo $x
113. 관계 연산자: <,>,!=, ==,>=,<= ,||,&&
관계 연산자는 종종 (( ))와 함께 사용됩니다. []는 동일한 결과를 얻을 수 있지만 (( ))는 파일 유형을 결정할 수 없습니다. 파일 형식을 확인하려면 [], []를 사용해야 합니다. 결과는 테스트 명령과 동일합니다
명령 실행 결과를 확인하려면 $?를 사용하여 결과가 0이면 true를 의미합니다. 0, 이는 거짓을 의미합니다.
[root@bogon ~]# x=10
[root@bogon ~]# ((x> =8))
[root@bogon ~]# echo $?
0
4 .쉘의 계산기
앞서 $[]를 사용하여 몇 가지 간단한 연산을 수행할 수 있다고 말했지만 소수 연산이 포함된 경우에는 쉘에 있는 계산기를 사용해야 합니다
먼저 소프트웨어를 설치해야 합니다. yum install -y bc
[root@bogon ~]# res=$(echo 'scale=2;1/3' |bc -l | cut -d'.' -f2)
[root@bogon ~]# echo $ {res}%
33%
-b 파일이 존재하며 블록 파일입니다
int1 -gt int2 1 int2 int1 -ge int2 int1이 int2보다 크거나 같습니다 문자열 비교 str1 = str2 str1과 str2가 같습니다 str1! =str2 str1과 str2가 같지 않음 수식 비교 expression1 -a 표현식2 수식 1과 수식 2가 모두 true expression1 -o 수식2 수식 1 또는 수식 2가 true6. 테스트:
[root@bogon ~]# [[ 2 > 1 ]][root@bogon ~]# echo $?0 [root@bogon ~]# ((20>10))[root@bogon ~]# echo $?0 [root@bogon ~]# ((20<10))[root@bogon ~]# echo $?1
[root@bogon ~]# [ "abc" = "abc" ][root@bogon ~]# echo $?0 [root@bogon ~]# [[ "abc" = "abc" ]][root@bogon ~]# echo $?0 [root@bogon ~]# (("abc" = "abc"))[root@bogon ~]# echo $?1
[root@bogon ~]# [[ a = a && 1 < 2 ]][root@bogon ~]# echo $?0 [root@bogon ~]# [[ a = a && 1 < 2 ]][root@bogon ~]# echo $?0
[root@bogon ~]# (( a = a || 1 > 2 ))[root@bogon ~]# echo $?1[root@bogon ~]# [[ a = a || 1 > 2 ]][root@bogon ~]# echo $?0
3을 사용하세요. control
1) 사용자 계정 비밀번호 확인:
input your name : zhangcan input password : 123login successful [root@bogon ~]# ./usertest.sh input your name : hha input password : hag user or password error
#! /bin/bashuser='zhangcan'password='123'read -p 'input your name : ' name
read -p 'input password : ' codeif [ $name = $user -a $code = $password ];then
echo 'login successful'elseecho 'user or password error'fi~
#!/bin/bash #根据用户输入的成绩,判断所属档次,并输出给用户read -p 'input your score : ' scoreif [ $score -ge 90 ];then
echo '优秀'elif [ $score -ge 70 -a $score -lt 90 ];then
echo '良好'elif [ $score -ge 60 -a $score -lt 70 ];then
echo '及格'elif [ $score -lt 60 ];then
echo '较差'fi
동안(조건)
do Command done예: 사용자가 입력하는 파일 형식을 결정합니다#!/bin/bashwhile : do read -p 'input your file : ' fileif [ -z $file ];thencontinueelsebreakfi doneif [ -f $file ];then echo "$file is regular file"elif [ -b $file ];then echo "$file is block file"elif [ -d $file ];then echo "$file is directory file"elseecho "$file type unkonw"fi
#!/bin/bashfor i in {1..50} do ping -c1 192.168.16.$i &> /dev/null # -c1表示ping一次if [ $? -ne 0 ];then echo "192.168.16.$i successful"echo "192.168.16.$i" >> ~/ipavailable.txt fi done~
#!/bin/bashdir='/dev'for i in $(ls $dir) doif [ -h $dir/$i ];then ((link+=1))elif [ -f $dir/$i ];then (( rfile+=1))elif [ -d $dir/$i ];then ((directory+=1))elif [ -b $dir/$i ];then (( block+=1 ))else(( typeunknow+=1)) fi done echo 'block' $block echo 'regular file' $rfile echo 'directory' $directory echo 'link' $link echo 'unknow' $typeunknow
#!/bin/bashfor ((i=1;i<=9;i++)) dofor ((j=1;j<=i;j++)) do echo -n "$i*$j=$[$i*$j]"done echo done
#!/bin/bashuser='zhangcan'password='123'tag=truewhile $tag do read -p 'input your name : ' name read -p 'input your password : ' codeif [[ $name = $user ]] && [[ $code = $password ]];then echo 'login successful'while $tag do read -p '>>: ' cmdif [[ $cmd = 'quit' ]];then tag=falseelse$cmd fi done fi done
위 내용은 기본 쉘 구문 소개 및 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!