bash 스 크 립 트 기초
명령 완성: Tab 버튼 두 드 리 기
셸 프로그램 은 사용자 가 명령 을 실행 하 라 는 요청 을 받 고 분석 이 완료 되면 맨 왼쪽 문자열 은 $PATH 스칼라 가 지정 한 경 로 를 분석 하 는 명령 으로 사 용 됩 니 다.
찾기 메커니즘:
1. 내부 명령 찾기 2. 외부 명령 찾기: $PATH 변수 에서 지정 한 경로 에서 각 디 렉 터 리 에 있 는 파일 이름 을 왼쪽 에서 오른쪽으로 하나씩 검색 합 니 다. 시작 하 는 문자열 이 유일한 표 지 를 할 수 있다 면 바로 보완 합 니 다.유일 하 게 표시 할 수 없습니다. Tab 버튼 을 한 번 두 드 리 면 목록 을 제시 할 수 있 습 니 다.3. 오류: 명령 이 인식 되 지 않 으 면 응답 이 없습니다.
경로 완성:
주어진 시작 경로 의 상위 디 렉 터 리 에서 상위 디 렉 터 리 에 있 는 모든 파일 과 일치 하 는 첫 번 째 문자열 을 사용 합 니 다.
2. bash 특성의 명령 행 전개
명령 행 이 지정 한 특수 기 호 를 해당 문자열 로 자동 으로 전환 하 는 메커니즘 예:
“~”
: 자동 으로 집 디 렉 터 리 로 전환 “~ username”
: 지정 한 사용자 의 집 디 렉 터 리 로 전환 “{}”
: 쉼표 로 분 단 된 경로 목록 을 불 러 올 수 있 고 여러 개의 독립 된 경로 로 펼 칠 수 있 습 니 다.#
mkdir /tmp/{x,y,z} = mkdir /tmp/x /tmp/y /tmp/z
mkdir /tmp/{x/y,m/{m,n}} = mkdir /tmp/x/y /tmp/m/m /tmp/m/n
mkdir /tmp/{x,y}/z = mkdir /tmp/x/z /tmp/y/z
3. bash 의 특성: 명령 이 실 행 된 상태 결과
명령 의 정상 적 인 출력 결과, 명령 의 반환 값 명령 이 실 행 된 상태 결과 라 고 합 니 다: 성공, 실패 bash 는 특수 변수 로 가장 가 까 운 명령 실행 상태 결 과 를 저장 합 니 다: "$?"
echo $? #
표 시 된 결과
0
는 명령 이 성공 적 으로 실행 되 었 음 을 나타 내 고 1-255
성공 적 인 명령 이 없 는 출력 결 과 는 인용 을 통 해 저장 되 거나 직접 호출 되 었 음 을 나타 낸다. 예 를 들 어:mkdir -v `echo $?`
결 과 는 해당 숫자 를 파일 이름 으로 하 는 빈 폴 더 를 만 드 는 것 입 니 다.
"
”( ) >"''"( ): >""""( ): >"
"(반 따옴표) 사용: 명령 참조4. bash 특성의 glob 어댑터
glob: 파일 이름 마스크, 여러 파일 을 빠르게 참조 할 수 있 습 니 다. 파일 이름 만 가리 키 며 경로, 파일 이름 일치 도 검 사 는 포함 되 지 않 습 니 다.
메타 문자: 메타 문자 기반 일치 모드 (pattern) 를 작성 할 수 있 습 니 다.
"*"(미터 문자): 임의의 길이 와 일치 하 는 임의의 문자
예: p *: p 로 시작 하 는 임의의 문자열, 파일 이름.
예: p? a: 세 글 자 를 대표 합 니 다. 그 중 중간 에 임의의 문자 p? 두 글자 p??, 세 글자 입 니 다.
"[]"(중 괄호): 지정 한 집합 에 있 는 임의의 단일 문자 와 일치 합 니 다.
예: [a - z], [A - Z]: 이때 대소 문자 [0 - 9]: [a - z0 - 9]: 자모 와 숫자 [[: upper:], [A - Z]: 모든 대문자, 대문자 [[: lower:]] 만 표시 하고 소문 자 [[: digit:] [[: alpha:]] [[: alnum:] [[: space:]] [[: punct:]] [^]: 지 정 된 집합 밖의 임의의 문자 와 일치 합 니 다. 예 를 들 어 [^ [: alpha:]]
5. bash 특성의 변수
프로그램 = 명령 + 데이터 데이터: 파일, 변수 변수: 메모리 공간, 이름 이 있 으 면 변수 할당: NAME = VALUE =: 할당 기호 로 VALUE 를 NAME 가 가리 키 는 메모리 공간 에 저장 합 니 다.
변수 이름: 알파벳, 숫자, 밑줄 만 사용 할 수 있 고 숫자 로 시작 할 수 없습니다. 변수 참조: ${NAME}, $NAME 변수 교체: 변수 참조 기호 가 나타 난 위 치 를 가리 키 는 메모리 공간 에 있 는 데이터 로 바 꿉 니 다.
bash 변수 종류:
1. 로 컬 변수: 역할 영역 은 현재 셸 프로 세 스 입 니 다. 하위 프로 세 스 를 포함 하지 않 습 니 다. 2. 환경 변수: 사용 영역 은 현재 셸 프로 세 스 와 하위 프로 세 스 입 니 다. 3. 부분 변수: 역할 영역: 유효 범위, 참조 할 수 있 는 범위, 4. 위치 변수 5. 특수 변수
6. bash 특성의 IO 재 정립
1. 출력 리 셋: 리 셋 프로그램 이 정상적으로 실 행 된 결과
COMMAND > /PATH/TO/SOMEFILE
: ;
COMMAND >> /PATH/TO/SOMEFILE
: ;
셸 의 기능 스위치: set - C: 출력 을 덮어 쓰 는 것 을 금지 합 니 다. 이 때 는 "> |"에서 대상 파일 set + C 까지 사용 할 수 있 습 니 다. 위 기능 을 닫 습 니 다.
2. 오류 재 설정: 잘못된 실행 결 과 를 재 설정 합 니 다.
COMMAND 2> /PATH/TO/SOMEFILE
;
COMMAND 2>> /PATH/TO/SOMEFILE
;
3. 표준 출력 과 오류 출력 흐름 통합
1.&>,&>> 2.command >/path/to/somefile 2>&1 3.command >>/path/to/somefile 2>&1
4. 특수 장치
1. 특수 출력 대상:/dev/null, 쓰레기통 2. 특수 출력 파일:/dev/zero
5. 재 설정 입력
COMMAND < /PATH/FROM/SOMEFILE
7. bash 특성의 파이프
COMMAND1 | COMMAND2 | COMMAND3 | ...
연습: 1./etc/passwd 파일 의 마지막 세 줄 정보 중 모든 소문 자 를 대문자 로 바 꾸 고 출력 합 니 다.
cat /etc/passwd | tr 'a-z' 'A-Z'
2./etc/fstab 의 여섯 번 째 줄 꺼 내기
head -n 6 /etc/fstab | tail 1
3./etc 디 렉 터 리 아래 p 로 시작 하 는 모든 파일 이나 디 렉 터 리 를 꺼 내 서 앞의 5 개 만 표시 합 니 다.
ls -a /etc/p* | head 5
특수 명령: 1. tee 명령: tee [OPTION]... [FILE]... - a: 덮어 쓰 지 않 고 추가 출력 사용
COMMAND | tee /PATH/TO/SOMEFILE
예:
ls -al /tmp | tee -a /tmp/bashrc
/tmp , /tmp/bashrc
2. tr 명령: tr [option] set 1 [set 2] 은 출력 된 데이터 의 문 자 를 대위 변환 을 실현 합 니 다. 즉, 데이터 에 존재 하 는 문자 집중 문 자 를 모두 문자 몇 쌍 의 미 문자 로 변환 합 니 다.
1.tr set1 set2 < /path/from/somefile #
2.tr -d set1 < /path/to/somefile #
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.