셸 13 문의 총화

2405 단어 수송 하 다.linux
셸 은 '케이스' 로 시스템 커 널 (kernel) 과 통신 하 는 프로그램 입 니 다.셸 의 가장 간단 한 정 의 는 명령 해석 기 (command interpreter) 입 니 다.
명령 해석 기의 역할: 1. 사용자 의 명령 을 커 널 에 번역 합 니 다.2. 동시에 커 널 처리 결 과 를 사용자 에 게 번역 합 니 다.
로그 인 (login) 후, 우리 가 얻 은 셸 이름: login 셸 또는 primary 셸
셸 에서 실행 되 는 명령 은 모두 셸 에서 발생 하 는 하위 프로 세 스 입 니 다. 이 과정 은 fork 가 셸 에서 스 크 립 트 (셸 script) 를 실행 하 는 것 이 라 고 합 니 다. 프로 세 스 의 fork 프로 세 스 는 1. primary 셸 에서 sub 셸 (즉 스 크 립 트) 프로 세 스 를 생 성 합 니 다. 2. sub 셸 에서 스 크 립 트 의 모든 명령 을 생 성 하 는 프로 세 스 입 니 다.
Linux 의 셸 보기
cat /etc/shells

두 주류 셸 sh: sh, bash csh: csh, tcsh, ksh 그리고 zsh 라 고 합 니 다.
명령 프롬프트 맨 오른쪽 에 있 는 기호: $: 로그 인 사용자 가 일반 사용자 임 을 표시 합 니 다 \ #: 로그 인 사용자 가 루트 임 을 표시 합 니 다.
Carriage Return 은 차 로 돌아 가 리 턴 버튼 을 누 르 면 명령 이 실 행 됩 니 다.PS1 은 셸 의 내 장 된 변수 로 명령 프롬프트 문자열 의 스타일 을 지정 합 니 다.
셸 이 받 아들 일 수 있 는 명령 이름 은 다음 과 같 습 니 다: 1. 전체 경 로 를 포함 하 는 외부 명령 2. 명령 별명 (alias) 3. 사용자 정의 기능 (function) 4. 내장 명령 (built - in) 5. $PATH 변수 가 지정 한 명령 검색 경로
작은 따옴표 와 작은 따옴표 의 차 이 는?작은 따옴표 는 모든 셸 문자 의 특수 한 의 미 를 제거 하고 일반 문자 로 변 합 니 다.두 따옴표 는 대부분의 메타 문자 의 특수 한 의 미 를 제거 하지만 다음 과 같은 네 개의 기호의 특수 한 의 미 를 보류 합 니 다.
$(달러 문자), ` (반 따옴표), \ (역 슬 래 쉬), "(더 블 따옴표)
export 에서 내 보 낸 환경 변수: 환경 변 수 는 하위 프로 세 스에 의 해 계 승 됩 니 다. 셸 의 환경 변 수 를 주의 하 십시오. 하위 프로 세 스에 서 는 환경 변수의 사본 이 있 습 니 다. 하위 프로 세 스 는 부모 프로 세 스 의 환경 변수의 값 을 바 꿀 수 없습니다.
bash / sh, source /. (점), exec 의 차이?셸 에서 외부 명령 을 실행 하면 fork 하위 프로 세 스 를 실행 하고 내부 명령 을 실행 하면 primary 셸 에서 직접 실 행 됩 니 다.외부 명령: bash / sh 내부 명령: source /. 와 exec
bash / sh 의 역할: bash scriptfilename. sh \ # 스 크 립 트 실행 sh scriptfilename. sh \ # 스 크 립 트 실행
source /. 의 역할: 현재 셸 에서 스 크 립 트 내용 을 직접 실행 합 니 다. 예 를 들 어 source scriptfilename.sh . script_filename.sh
따라서 source /. 셸 의 초기 환경 을 불 러 오 거나 스 크 립 트 에서 다른 스 크 립 트 의 코드 를 가 져 올 수 있 습 니 다. Python 의 import 와 같 습 니 다.
() 와 {} 의 차이?() 명령 그룹 (command group) 을 하위 셸 에 두 고 실행 합 니 다. nested sub - shell 이 라 고도 합 니 다.{} 은 같은 셸 에서 명령 을 실행 하고 non - named command group 이 되 며 이름 없 는 함수 와 같 습 니 다.
명령 교체: 'cmd' 와 $(cmd): 작은 따옴표 가 더 좋 은 이식 성 을 가지 고 있 습 니 다. $(cmd) 더 좋 은 코드 가 독성 이 있 습 니 다.
${} 변수 교체: 1, 일반적인 교체: ${var}2, 4 가지 특수 교체: ${var:-string},${var:+string},${var:=string},${var:?string}3, 4 가지 패턴 일치 교체: ${var%pattern}, ${var%%pattern}, ${var#pattern}, ${var##pattern}4, 문자열 추출 및 교체: 약
${\ # var} 변수의 길 이 를 계산 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기