셸. - 셸 은 필수.

셸 마력 은 리 눅 스 의 도 구 를 스 크 립 트 에 직접 쓸 수 있다 는 것 입 니 다. terminal 에서 사용 하 는 명령 은 프로그램 에 직접 쓸 수 있 습 니 다. 그 다음 에 얼마나 안 되 는 일 인지 깨 닫 게 될 것 입 니 다!그래서 셸 을 잘 배 우 는 것 은 셸 언어 자체, 예 를 들 어 if, for 등 통제 구 조 를 가리 키 는 것 이 아니 라 리 눅 스 발행 판 에 내 장 된 도구 도 포함한다. 예 를 들 어 cat, sed, awk, xargs, 파이프 등 자주 사용 되 는 도구 의 사용 이다. 다음은 셸 언어 자체 부터 말 하 자.
셸 은 여러 가지 가 있 습 니 다. bash 는 거의 기준 이 되 었 기 때문에 다음 과 같은 우리 가 이야기 하 는 것 은 모두 bash 를 기준 으로 합 니 다.
셸 은 뭐 가 안 어 울 려 요.
  • 자원 집약 형, 예 를 들 어 정렬
  • 계산 집약 형, 예 를 들 어 부동 소수점 형 연산, 효율 이 높 지 않다
  • 복잡 한 논리 가 있 고 셸 의 논리 적 통제 능력 이 강하 지 않다
  •  
    셸 언어 자체
    1.1 유형 과 변수
     
    1.2 조건 제어
    if
    if 끝 에 fi 를 사용 하 는 것 을 주의 하 십시오. elseif 는 elif 라 고 간략하게 쓰 여 있 습 니 다. 예 를 들 어
    if condition
    then
        commands
    elif condition
    then
        commands
    else
        commands
    fi

    1.3 순환
    for
    for 는 두 가지 형식 이 있 습 니 다. fori 와 forin ,
    # for_i
    for((i=0;i<10;i++));
    do
        echo $i
    done
    
    # for_in
    for VAR in $LIST
    do
        echo $VAR
    done

    배열 을 옮 겨 다 니 기
    EXAMPLE_ARR=("123" "234" "012")
    for str in "${EXAMPLE_ARR[@]}"
    do
      echo "$str"
    done

    배열 을 옮 겨 다 닐 때 index 가 필요 합 니 다.
    EXAMPLE_ARR=("123" "234" "012")
    for i in "${!EXAMPLE_ARR[@]}"
    do
      echo "$i"
    done

    이 문법 은 다른 언어 와 크게 다르다.
    위 에서 "Linux 의 도 구 를 스 크 립 트 에 직접 쓸 수 있 습 니 다" 라 고 말 했 습 니 다. 여기 서 우 리 는 for 로 디 렉 터 리 를 직접 옮 겨 다 니 는 것 입 니 다.
    for file in "ls ~/"
    do
      echo "$file"
    done

    sleep
    프로그램 이 실행 을 중단 하고 어떤 작업 을 기다 리 고 있 습 니 다: sleep 20, 기본 단 위 는 초 입 니 다.
    1.4 함수
    함수 전송 정 의 는 다른 언어 (예 를 들 어 golang, nodejs) 에 비해 본질 적 으로 다 르 지 않 지만 전송 참조 와 호출 방식 은 다 릅 니 다. 매개 변 수 는 함수 정의 에 쓰 지 않 고 함수 체 에서 $n 을 직접 사용 하여 파 라 메 터 를 참조 합 니 다. 반환 값 은 return, echo 또는 xargs 를 사용 할 수 있 습 니 다. 함수 가 실 행 된 후에 $를 통 해?결과 참조:
    [function] func_name()
    {
        # code
    }

     
    #!/bin/bash
    
    function learnGolang()
    {
        echo "learn golang in $1"
    
        return 12
    }
    
    learnGolang "fourty five minutes"
    
    echo "the result of func is $?"

     
    1.5 스페이스 바 사용
    셸 의 빈 칸 은 마음대로 사용 할 수 없습니다. 예 를 들 어 변 수 를 설명 하고 등호 양쪽 에 빈 칸 이 있 으 면 안 됩 니 다.
    # valid
    var1="test1"
    echo $var1
    
    # not valid
    var2 = "test2"
    echo $var2

    2. 셸 에 서 는 다른 도 구 를 사용 하여 다양한 종류의 작업 을 수행 할 수 있 습 니 다.
    새 파일 을 만 들 고 내용 을 기록 합 니 다. 내용 에 변 수 를 포함 할 수도 있 습 니 다.
    cat > test.txt <

    파일 내용 수정
    우 리 는 vim 를 수 동 으로 수정 하여 사용 합 니 다. 프로그램 에서 더욱 편리 한 것 은 sed 입 니 다.
    파일 복사: cp, mv, scp

    좋은 웹페이지 즐겨찾기