우아 한 Shell 스 크 립 트 를 만 드 는 방법 (1)

2581 단어 shell
간단 한 소개
   셸 스 크 립 트 는 여러 명령 으로 한 파일 에 미리 넣 어 한꺼번에 실행 하기 편리 한 프로그램 파일 입 니 다. 본 고 는 우아 한 셸 스 크 립 트 를 어떻게 만 드 는 지 요약 합 니 다.
기술 소개
eval 명령
   명령 으로 문자열 을 실행 할 수 있 습 니 다.  
CMD="ls -ltr"
eval $CMD

내 장 된 매개 변수 변수
$$
  현재 프로그램 프로 세 스 ID 가 져 오기.
$#
  현재 프로그램 에 들 어 오 는 매개 변수 개 수 를 가 져 옵 니 다. 이 내 장 된 변 수 를 사용 하여 프로그램 매개 변 수 를 판단 할 수 있 습 니 다.
$?
  이전 명령 이 실 행 된 결과 코드 를 가 져 옵 니 다. 결과 코드 는 0 과 같 습 니 다. 이전 명령 이 실 행 된 것 을 나타 내 고 다른 명령 은 실 패 했 습 니 다.
echo
  터미널 명령 에 내용 을 출력 하고 셸 스 크 립 트 에서 이 명령 을 사용 하면 로그 의 인쇄 와 출력 터미널 제어 에 자주 사 용 됩 니 다.> 와 >> 를 사용 하여 다른 파일 로 방향 을 바 꿀 수 있 습 니 다.
echo "            "
echo "                      " >   
echo "                      " >>   

재 정립 에 대하 여
   위의 echo 는 이미 방향 을 바 꾸 는 두 개의 조작 자 > 와 >> 를 말 했 습 니 다. 기본 적 인 상황 에서 이 두 조작 자 는 표준 출력 (stdout) 에 만 적 용 됩 니 다.셸 프로그램 에서 가장 많이 사용 되 는 FD (file descriptor) 는 대략 세 가지 가 있 는데 그것 이 바로 다음 과 같다.
   0 은 표준 입력 (stdin) 을 나타 내 는 파일 설명자 입 니 다.   1 표준 출력 (stdout) 을 나타 내 는 파일 설명자 입 니 다.   2 표준 오류 (stderr) 를 나타 내 는 파일 설명자 입 니 다.
   오류 출력 을 캡 처 하려 면 다음 과 같은 수정 이 필요 합 니 다.
echo "      " >   
echo "         " 1>   
echo "             " 1>&2   

> 와 >> 를 제외 하고 예상 치 못 한 방향 으로 출력 할 수 있 는 명령 이 있 습 니 다. 이것 이 바로 tee 입 니 다.
#   
echo "        ,         。" | tee
#     
echo "          ,     file 。       ,   ;      ,    "|tee file
#tee -a   
echo "          ,     file 。       ,   ;      ,        ,     。"|tee -a file
#tee -   
echo "         。"|tee -
#          ,       
echo "         ,     file1 file2 。"|tee file1 file2 -

사용자 정의 함수
#  , java c++  ,              ,        ,$1,$2
function function_name() {
   #  1 $1 
   #  2 $2
   ...
}

운행 방식
  •  가장 일반적인 스 크 립 트 실행 방식
  • sh /path/program.sh
  • 실행 권한 이 있 는 스 크 립 트 도 다음 과 같은 방식 으로 실행 할 수 있 습 니 다
  • /path/programe.sh
  • 현재 세 션 방식 실행
  • #           
    . /path/program.sh
    source /path/program.sh

    현재 몽골 의 집행 방식 은 다른 두 가지 집행 효과 와 약간 다르다.
  • 상기 두 가 지 는 새로 프로 세 스 를 열 어 스 크 립 트 프로그램 을 실행 하 는 것 입 니 다. 스 크 립 트 가 실 행 된 후에 안의 변수 와 함수 도 이에 따라 삭 제 됩 니 다.
  • 현재 세 션 방식 이 실 행 됩 니 다. 실 행 된 후에 스 크 립 트 프로그램의 변수 와 함 수 는 현재 세 션 에 저 장 됩 니 다. 현재 세 션 은 스 크 립 트 프로그램의 모든 것 에 접근 할 수 있 습 니 다.변수 와 함수 의 생명주기 가 현재 세 션 과 공존 합 니 다.

  • 좋은 웹페이지 즐겨찾기