Linux - shell 의 경험 총화 - 1

9657 단어 linuxshell
Linux - shell 의 경험 총화 - 1
  • 셸 운영 환경 기술
  • 서브 셸 관련 문제
  • 셸 이 script 을 실행 하 는 방식
  • export 명령 - 스 크 립 트 실행 결과 의 출력 과 참조
  • 한 셸 스 크 립 트 에 다른 스 크 립 트 도입
  • 셸 동적 생 성 배열
  • 스 크 립 트 의 신 호 량 처리
  • 스 크 립 트 의 LOCKFILE
  • 호스트 정보 획득
  • 출력 포맷 관련 명령
  • echo 변수 가 줄 을 바 꾸 어 잃 어 버 린 문 제 를 해결 합 니 다
  • 호스트 실행 자원 보기 명령
  • 호스트 검색 명령
  • 셸 실행 환경 기술
    질문
  • Liux 의 셸 운영 환경 은 사용자 가 로그 인 할 때마다 터미널 을 열 고 셸 로그 인 환경 을 초기 화 하 며 키 셸 에 해당 합 니 다.Liux 사용자 가 셸 에 로그 인하 면 다음 스 크 립 트 를 실행 합 니 다.

  • (사용자 로그 인 셸 환경 프로 세 스 는 자체 적 으로 자세히 볼 수 있 습 니 다)
    ]#source /etc/profile
    ]#source /etc/profile.d/* #              
    ]#source ~/.bash_profile
    
  • 모든 하위 셸 은 Liux 에서 단독 프로 세 스 입 니 다.사용자 가 로그 인 한 셸 환경 에서 셸 스 크 립 트 를 실행 하면 키 셸 입 니 다.
  • 사용자 가 로그 인 을 종료 한 후 다시 로그 인 하 는 것 은 셸 환경 을 다시 초기 화하 고 다른 프로 세 스 를 실행 하 는 것 과 같 습 니 다.

  • 셸 에서 script 을 실행 하 는 방식
    [1] source 또는. 방식 으로 스 크 립 트 를 실행 합 니 다. 스 크 립 트 는 실행 가능 한 권한 이 필요 없습니다.현재 로그 인 셸 환경 에서 명령 을 실행 하 는 것 과 같 습 니 다. 하위 셸 이 아 닙 니 다.
    ]# source example.sh
    ]# . exaple.sh
    

    [2] sh 또는 bash 방식 으로 스 크 립 트 를 실행 합 니 다. 스 크 립 트 는 실행 권한 이 필요 없습니다.하위 셸 방식 으로 스 크 립 트 내용 을 실행 하고 하나의 프로 세 스 를 실행 합 니 다.
    ]# sh example.sh
    ]# bash example.sh
    

    [3] 경 로 를 실행 하 는 방식 은 bash 방식 을 실행 하 는 것 과 같다.스 크 립 트 는 실행 가능 한 권한 이 필요 합 니 다.
    ]# ./mytemp/example.sh
    

    export 명령 - 스 크 립 트 실행 결과 의 출력 과 참조
  • 셸 환경 에서 정 의 된 변 수 는 모두 전역 변수 이 고 함수 에서 local 수식 으로 국부 변 수 를 정의 할 수 있 습 니 다.
  • 셸 환경 에서 export 로 변수 나 함 수 를 수식 하면 이 변 수 를 하위 셸 환경 에 작용 할 수 있 습 니 다.
  • export 는 declare - x 명령 이 되 고 싶 습 니 다.

  • 환경 변 수 를 정의 하 는 데 자주 사용
    ]# cat a.sh
    export JAVA_HOME=/usr/local/java
    export HADOOP_HOME=/usr/local/hadoop
    function example{
        echo  "Hellow World"
    }
    export -f example
    ]# source a.sh
    ]# echo $JAVA_HOME
    ]# /usr/local/java
    ]# example
    ]# Hellow World
    
  • export 의 용법
  • - p 현재 셸 의 모든 환경 변 수 를 표시 합 니 다
    [root@localhost ~]# export -p
    declare -x CVS_RSH="ssh"
    declare -x G_BROKEN_FILENAMES="1"
    declare -x HISTSIZE="1000"
    ...
    

    매개 변수 설명
    - f 는 [변수 이름] 의 함수 이름 을 대표 합 니 다.
    - n 지정 한 변 수 를 삭제 합 니 다.변 수 는 실제로 삭제 되 지 않 았 고 후속 명령 의 실행 환경 에 출력 되 지 않 았 습 니 다.
    - p 모든 셸 이 프로그램 에 부여 한 환경 변 수 를 보 여 줍 니 다.
    셸 스 크 립 트 에 다른 스 크 립 트 도입
    source 방식 은 위 에서 설명 한 source 와 같이 현재 환경 에서 script 을 실행 하 는 것 과 같 습 니 다. 하위 셸 을 여 는 것 이 아 닙 니 다.
    exec 방식: 스 크 립 트 가 exec 로 실행 되 고 하위 스 크 립 트 내용 에 들 어 갑 니 다. 하위 셸 을 여 는 것 이 아니 라 후속 부모 스 크 립 트 가 실 행 될 수 없습니다.
    #!/bin/bash
    echo "Hellw"
    exec a.sh
    echo "World"
    

    fork 방식 은 위의 경로 에서 스 크 립 트 를 실행 하 는 방식 입 니 다. 상대 적 인 경로 일 수도 있 고 절대적 인 경로 일 수도 있 습 니 다. 하위 셸 을 열 어 실행 하면 하위 셸 은 export 변 수 를 계승 할 수 있 습 니 다.
    cd /opt
    ./zookeeper_env.sh
    echo "Hellow world"
    

    셸 동적 생 성 배열
    seq 생 성 배열
    ]# seq 5 10
    ]# $a = 1 ; $b = 10
    ]# seq $a $b
    

    {...} 방식 으로 배열 생 성
    for i in {5..10}
    do
       echo $i
    done
    #      
    for i in {a..z}
    do
      echo $i
    done
    #eval       python eval()  。
    ]# a=1;b=10
    for i `eval echo {$a..$b}`
    do
     echo $i
    done
    

    파일 줄 당 내용 순환
    #     
    while read -r line 
    do
    	echo $line
    done < a.txt
    #
    for line in `cat a.txt`
    do
    	echo $line
    done
    

    스 크 립 트 의 신 호 량 처리
    kill 과 신 호 량 trap
    스 크 립 트 의 LOCKFILE
    lockfile 파일 은 스 크 립 트 가 여러 번 시작 되 는 것 을 방지 할 수 있 습 니 다.
    PIDFILE=/dev/shm/pid.txt
    if [ -e ${PIDFILE} ] && kill -0 `cat ${PIDFILE}`
    then
      echo "already running"
      exit
    fi
    trap "rm -f ${PIDFILE}; exit" INT TERM EXIT
    echo $$ > ${PIDFILE}
    

    호스트 정보 가 져 오기
    python socket 모듈 을 사용 하면 호스트 이름과 IP lsblk lscpu lsmem fdisk 를 가 져 올 수 있 습 니 다.
    출력 포맷 관련 명령
    echo 변수 줄 바 꾸 기 잃 어 버 린 문제 해결
    echo $VAR_TEST
    #  
    echo "${VAR_TEST}"
    

    jq 형식 은 chrome 의 jsonhandler 와 jsonviewer 플러그 인 같은 json 명령 도 출력 합 니 다.printf
    호스트 실행 자원 보기 명령
    top sar ss/netstat free iostat df ps
    호스트 검사 명령
    네트워크 차원 검사 명령
    ping route nc telnet curl -w

    좋은 웹페이지 즐겨찾기