셸 의 입문 편

5223 단어 linuxunix각본bash
Shell 은 C 언어 로 작 성 된 프로그램 으로 사용자 가 Linux 를 사용 하 는 다리 입 니 다.셸 은 명령 언어 이자 프로 그래 밍 언어 이다.
Shell 은 응용 프로그램 을 말 합 니 다. 이 프로그램 은 인 터 페 이 스 를 제공 하고 사용자 가 이 인 터 페 이 스 를 통 해 운영 체제 의 내부 핵 에 접근 하 는 서 비 스 를 제공 합 니 다.
Ken Thompson 의 sh 는 첫 번 째 유 닉 스 셸 이 고 윈도 탐색 기 는 전형 적 인 그래 픽 인터페이스 Shell 이다.
셸 스 크 립 트
셸 스 크 립 트 (셸 script) 는 셸 을 위 한 스 크 립 트 프로그램 입 니 다.
업계 에서 말 하 는 셸 은 보통 셸 스 크 립 트 를 가리 키 지만 독자 친구 들 은 셸 과 셸 스 크 립 트 가 서로 다른 개념 이라는 것 을 알 아야 한다.
습관 적 인 원인 으로 인해 간결 하 게 볼 때 본 고 에 나타 난 '셸 프로 그래 밍' 은 모두 셸 스 크 립 트 프로 그래 밍 을 말 하 는 것 이지 셸 자 체 를 개발 하 는 것 을 말 하 는 것 이 아니다.
셸 환경
Shell 프로 그래 밍 은 자바, phop 프로 그래 밍 과 마찬가지 로 코드 를 작성 할 수 있 는 텍스트 편집기 와 실행 할 수 있 는 스 크 립 트 해석 기 만 있 으 면 됩 니 다.
Linux 의 Shell 종류 가 많 습 니 다. 흔히 볼 수 있 는 것 은:
Bourne Shell (/ usr / bin / sh 또는 / bin / sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
……
Bourne Again Shell 을 자주 사용 하 는데 사용 하기 쉽 고 무료 이기 때문에 Bash 는 일상적인 업무 에서 널리 사용 된다.또한 Bash 는 대부분의 Linux 시스템 의 기본 셸 이기 도 하 다.
문법:
  
 
셸 의 주석
  
    # 자바 의 / / 주석 과 유사 합 니 다. 셸 에는 여러 줄 의 주석 이 없습니다.
  
공부   -->'공부' 가 인쇄 됩 니 다.  
  
변수 설명  name = "장산" 
   주: 변수 이름과 등호 사이 에 빈 칸 이 있어 서 는 안 됩 니 다. 이것 은 당신 이 잘 아 는 모든 프로 그래 밍 언어 와 다 를 수 있 습 니 다.변수        이름 의 이름 은 다음 과 같은 규칙 을 따라 야 합 니 다.
      첫 번 째 문 자 는 알파벳 (a - z, A - Z) 이 어야 합 니 다.
      중간 에 빈 칸 이 없 으 면 밑줄 () 을 사용 할 수 있 습 니 다.
      문장 부 호 를 사용 할 수 없습니다.
      bash 의 키 워드 를 사용 할 수 없습니다.
  
   
사용 변수: 예 를 들 어 출력 name   echo $(name) 또는 echo $name
   
    정 의 된 변 수 를 다시 정의 할 수 있 습 니 다. 예 를 들 어 name = "장산" name = "이사" 는 echo $name 에서 "이사" 를 출력 합 니 다.
    
    
읽 기 전용 변수, 예 를 들 어 name 을 읽 기 전용 변수 로 설정 합 니 다.
            name = "장산"
            readonly name
            이름 = "이사"
      그러면 name 을 이사 로 수정 할 때 실행 할 때 알림: name: readonly variable
     
    
변수 삭제
       방금 name 변 수 를 삭제 합 니 다: unset name 그리고 echo name 은 정 보 를 출력 하지 않 습 니 다.
     
변수 형식
        셸 을 실행 할 때 세 가지 변수 가 동시에 존재 합 니 다.
             1) 부분 변수 부분 변 수 는 스 크 립 트 나 명령 에서 정 의 됩 니 다. 현재 셸 인 스 턴 스 에서 만 유효 합 니 다. 기타         셸 이 시작 한 프로그램 은 국부 변수 에 접근 할 수 없습니다.
             2) 환경 변수 모든 프로그램 은 셸 이 시작 하 는 프로그램 을 포함 하여 환경 변 수 를 방문 할 수 있 고 일부 프로그램 은 환경 변 수 를 통 해 정상 적 인 운행 을 확보 해 야 합 니 다.필요 할 때 셸 스 크 립 트 도 환경 변 수 를 정의 할 수 있 습 니 다.
             3) 셸 변수 셸 변 수 는 셸 프로그램 이 설정 한 특수 변수 입 니 다.셸 변수 중 일 부 는 환경 변수 이 고 일 부 는 부분 변수 입 니 다. 이런 변 수 는 셸 의 정상 적 인 운행 을 보장 합 니 다.
      
     
셸 문자열
         셸 에서 '또는' 또는 '를 사용 하거나 단일 / 더 블 따옴표 로 문자열 을 설명 하지 않 습 니 다.
            작은 따옴표:
              따옴표 에 변수 가 있 을 수 있 습 니 다.
              따옴표 에 전의 문자 가 나타 날 수 있다.
     
맞 춤 문자열
           name = "장산"
           allname = "$name 을 아 세 요?"
           echo $allname
           수출: 당신 은 장 산 을 아 십 니까?
      
문자열 길이 가 져 오기
           name = "장산"
           echo ${#name}
           출력: 6
       
문자열 캡 처
           name="ILOVEYOU"
           res = ${name: 1: 4} / / name 의 두 번 째 문 자 를 캡 처 하여 변수 res 에 부여 하 는 4 개의 문 자 를 캡 처 하기 시작 합 니 다.
           echo $res
           출력: LOVE
       
자바 의 index Of () 와 유사 한 문자열 의 위 치 를 찾 습 니 다.
           name="ILOVEYOU"
           echo `expr index "$name" V`
           출력: 4  주: 스 크 립 트 에서 '' 는 작은 따옴표 가 아니 라 작은 따옴표 '입 니 다. 잘못 보지 마 세 요. 약간 구덩이 가 있 습 니 다!
       
Shell 의 배열
           bash 는 1 차원 배열 (다 차원 배열 은 지원 되 지 않 음) 을 지원 하고 배열 의 크기 를 제한 하지 않 습 니 다.
C 언어 와 유사 하 며, 배열 요소 의 아래 표 시 는 0 부터 번 호 를 매 긴 다.배열 의 요 소 를 가 져 오 려 면 아래 표 시 를 이용 해 야 합 니 다. 아래 표 시 는 정수 나 산술 표현 식 일 수 있 습 니 다. 그 값 은 0 보다 크 거나 같 아야 합 니 다.
           Shell 에서,
괄호 로 배열 을 표시 합 니 다.
배열 요 소 는 '빈 칸' 기호 로 나 뉜 다.정의 배열 의 일반  형식:   names=(zhangshan lishi wangwu zhaoyun)
       
배열 의 각 분량 을 단독으로 정의 합 니 다.
           예: names [0] = chian
                names[1]=usa
                  .
                  .
                names[n]=xxx
             주: 연속 적 인 하 표를 사용 하지 않 아 도 되 고 하 표 의 범 위 는 제한 이 없습니다.
        
읽 기 배열
                배열 요소 값 을 읽 는 일반적인 형식 은:
                ${배열 이름 [아래 표시]}
                예: ${names [0]}
                names=(zhangshan lishi)
                echo ${names[1]}  #출력: lishi
                @ 기호 로 배열 의 모든 요 소 를 가 져 올 수 있 습 니 다.
                echo ${names[@]}   #출력: zhangshan lishi
        
배열 의 길이 가 져 오기
           
배열 요소 의 개 수 를 가 져 옵 니 다.
             length=${#array_name[@]}
           
혹은
           
 length=${#array_name[*]}

           
배열 단일 요소 의 길 이 를 가 져 옵 니 다.
              lengthn=${#array_name[n]}
             예:
                 names=(zhangshan lishi)
               length=${#names[@]}  #여기
length=${#names[*]}

                 echo $length     #출력

좋은 웹페이지 즐겨찾기