찾다

기본 쉘 구문 소개 및 사용

Jun 20, 2017 am 11:24 AM
shell기초적인문법

1. 변수

1. 변수 명명 규칙: 문자 또는 밑줄로 시작하고 그 뒤에 숫자, 문자 또는 밑줄이 옵니다. 함부로 이름을 지정하지 말고, 변수를 보면 그 의미를 추측할 수 있습니다. 변수 이름

2. 변수 할당 echo ${egon_salary}yuan

20000yuan

4. bash에서는 데이터 유형을 선언할 필요가 없습니다. 기본값은 문자 유형입니다.

2. * / %

[root@bogon ~]# echo $[5%2]

1

2. 할당 연산자: =, +=, -=, *=, /=, %=

[root@bogon ~]# x=10

[root@bogon ~]# ((x+=1))

[root@bogon ~]# echo $x

11

3. 관계 연산자: ,!=, ==,>=,
관계 연산자는 종종 (( ))와 함께 사용됩니다. []는 동일한 결과를 얻을 수 있지만 (( ))는 파일 유형을 결정할 수 없습니다. 파일 형식을 확인하려면 [], []를 사용해야 합니다. 결과는 테스트 명령과 동일합니다

명령 실행 결과를 확인하려면 $?를 사용하여 결과가 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%

5.test 명령 test

 test

   -n str 문자열 길이가 0이 아닙니다

   - z str 문자열 길이가 0입니다


  -b 파일이 존재하며 블록 파일입니다

  - d 파일이 존재하고 디렉토리 파일입니다

  -e 파일이 존재하며 일반 파일입니다

-f 파일이 존재하며 일반 파일입니다

링크 파일의 경우(-L과 동일)

   -s 파일이 존재하며 더 큽니다. 0바이트보다

  파일 간 비교

  file1 -nt file2 file1의 생성 시간이 file2보다 늦었습니다.

  file1 -ot file2 file1의 생성 시간이 file2보다 늦었습니다.

 정수 간 비교

 int1 -ne int2 int1과 int2가 동일하지 않습니다

 int1 -eq int2 int1과 int2가 동일합니다

 int1 -lt int2 int1이 int2보다 작습니다

 int1 -le int2 in t1이 int2보다 작거나 같습니다

   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가 true

6. 테스트:

[root@bogon ~]# [[ 2 > 1 ]][root@bogon ~]# echo $?0
[root@bogon ~]# ((20>10))[root@bogon ~]# echo $?0
[root@bogon ~]# ((20<p></p> 문자열 테스트 <p></p><pre class="brush:php;toolbar:false">[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 <p></p><pre class="brush:php;toolbar:false">[root@bogon ~]# (( a = a || 1 > 2 ))[root@bogon ~]# echo $?1[root@bogon ~]# [[ a = a || 1 > 2 ]][root@bogon ~]# echo $?0

단순히 숫자를 비교하려면 (( ))를 사용하세요.

순수한 숫자가 아닌 비교에는 [[ ] ]

3을 사용하세요. control

1.if Branch

 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~

 2) 학년 결정

#!/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

2.while Loop

 동안(조건)

 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

3.for loop

 for i in {1..10} # in이 반드시 a일 필요는 없습니다. 숫자, 결과를 반환하는 명령이면

 do

 echo $i

 done

예제 1: 서브넷에서 사용할 수 있는 IP를 테스트하는 스크립트 작성
#!/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~

예제 2 : /dev

#!/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

에서 각 파일 형식의 수를 계산합니다. 중첩 루프

예제 1: 99구구단 출력

#!/bin/bashfor ((i=1;i<p></p>예제 2: 로그인 성공 후 사용자 로그인 계정 비밀번호 확인 quit<div class="cnblogs_code"></div><pre class="brush:php;toolbar:false">#!/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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
리눅스 운영 마스터 링 : 실용 가이드리눅스 운영 마스터 링 : 실용 가이드Apr 12, 2025 am 12:10 AM

Linux 운영을 마스터하는 이유는 광범위한 응용 프로그램 시나리오와 강력한 기능 때문입니다. 1) Linux는 개발자, 시스템 관리자 및 기술 애호가에게 적합하며 서버 관리, 임베디드 시스템 및 컨테이너화 기술에 사용됩니다. 2) Learning Linux는 파일 시스템 구조, 쉘 사용, 사용자 권한 관리 및 프로세스 관리로 시작할 수 있습니다. 3) Linux 명령 줄은 핵심 도구로 LS, MKDIR, CD 등과 같은 쉘을 통해 명령을 실행하고 리디렉션 및 파이프 라인 작업을 지원합니다. 4) 고급 사용법에는 TAR 명령 및 조건부 판단을 사용한 백업 스크립트와 같은 자동 스크립트 작성이 포함됩니다. 5) 일반적인 오류에는 Echo, Set-X 및 $?를 통해 디버깅 할 수있는 권한, 경로 및 구문 문제가 포함됩니다. 6) 성능 최적화 제안

Linux의 5 기둥 : 역할 이해Linux의 5 기둥 : 역할 이해Apr 11, 2025 am 12:07 AM

Linux 시스템의 5 개의 기둥은 다음과 같습니다. 1. Kernel, 2. System Library, 3. Shell, 4. 파일 시스템, 5. 시스템 도구. 커널은 하드웨어 리소스를 관리하고 기본 서비스를 제공합니다. 시스템 라이브러리는 애플리케이션에 대한 사전 컴파일 된 기능을 제공합니다. 쉘은 사용자가 시스템과 상호 작용할 수있는 인터페이스입니다. 파일 시스템은 데이터를 구성하고 저장합니다. 시스템 도구는 시스템 관리 및 유지 보수에 사용됩니다.

리눅스 유지 보수 모드 : 도구 및 기술리눅스 유지 보수 모드 : 도구 및 기술Apr 10, 2025 am 09:42 AM

Linux 시스템에서 시작시 특정 키를 누르거나 "sudosystemctlrescue"와 같은 명령을 사용하여 유지 보수 모드를 입력 할 수 있습니다. 유지 보수 모드는 관리자가 파일 시스템 수리, 비밀번호 재설정, 보안 취약성 패치 등과 같은 간섭없이 시스템 유지 관리 및 문제 해결을 수행 할 수 있습니다.

주요 Linux 운영 : 초보자 가이드주요 Linux 운영 : 초보자 가이드Apr 09, 2025 pm 04:09 PM

Linux 초보자는 파일 관리, 사용자 관리 및 네트워크 구성과 같은 기본 작업을 마스터해야합니다. 1) 파일 관리 : mkdir, touch, ls, rm, mv 및 cp 명령을 사용하십시오. 2) 사용자 관리 : userAdd, passwd, userdel 및 usermod 명령을 사용합니다. 3) 네트워크 구성 : ifconfig, echo 및 ufw 명령을 사용하십시오. 이러한 운영은 Linux 시스템 관리의 기초이며, 마스터하면 시스템을 효과적으로 관리 할 수 ​​있습니다.

Sudo를 사용하여 Linux의 사용자에게 높은 권한을 부여하는 방법은 무엇입니까?Sudo를 사용하여 Linux의 사용자에게 높은 권한을 부여하는 방법은 무엇입니까?Mar 17, 2025 pm 05:32 PM

이 기사는 Linux의 Sudo 권한을 관리하는 방법, 보안 및 보안 모범 사례를 포함하여 Linux의 Sudo 권한을 관리하는 방법을 설명합니다. 주요 초점은 /etc /sudoers를 안전하게 편집하고 액세스를 제한하는 데 중점을 둡니다. 문자 수 : 159

Linux에서 SSH에 대해 2 단계 인증 (2FA)을 구현하려면 어떻게합니까?Linux에서 SSH에 대해 2 단계 인증 (2FA)을 구현하려면 어떻게합니까?Mar 17, 2025 pm 05:31 PM

이 기사는 Google Authenticator를 사용하여 Linux에서 SSH에 대한 2 단계 인증 (2FA) 설정, 설치, 구성 및 문제 해결 단계에 대한 가이드를 제공합니다. Enhanced SEC와 같은 2FA의 보안 이점을 강조합니다.

Top, HTOP 및 VMSTAT와 같은 도구를 사용하여 Linux에서 시스템 성능을 모니터링하려면 어떻게해야합니까?Top, HTOP 및 VMSTAT와 같은 도구를 사용하여 Linux에서 시스템 성능을 모니터링하려면 어떻게해야합니까?Mar 17, 2025 pm 05:28 PM

이 기사는 Linux 시스템 성능을 모니터링하기위한 Top, HTOP 및 VMSTAT 사용에 대해 설명하고 효과적인 시스템 관리를위한 고유 한 기능 및 사용자 정의 옵션을 자세히 설명합니다.

패키지 관리자 (APT, YUM, DNF)를 사용하여 Linux에서 소프트웨어 패키지를 어떻게 관리합니까?패키지 관리자 (APT, YUM, DNF)를 사용하여 Linux에서 소프트웨어 패키지를 어떻게 관리합니까?Mar 17, 2025 pm 05:26 PM

기사는 APT, YUM 및 DNF를 사용하여 Linux의 소프트웨어 패키지 관리, 설치, 업데이트 및 제거를 다루는 것에 대해 설명합니다. 다양한 분포에 대한 기능과 적합성을 비교합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.