셸 기반
6133 단어 linuxshell 백 엔 드
echo [ ] [ ]
옵션: • e: 반사 선 제 어 를 지원 하 는 문자 변환 (표 1 참조) • n: 출력 후 줄 끝의 줄 바 꾸 기 기호 취소 (내용 출력 후 줄 바 꾸 지 않 음)
2. 셸 스 크 립 트 의 구조 (보통 세 부분)
(1) 스 크 립 트 의 언어 설명:
#!/bin/bash
(2) 스 크 립 트 를 설명 하 는 기능 은\# 로 시작 하 는 문 구 는 모두 주석 (3) 스 크 립 트 의 주체 입 니 다.
3. 실행 방식 (실행 전에 이 파일 에 실행 권한 이 있 는 지 주의 하 십시오)
(1) 경 로 를 사용 하여 직접 실행 (2) bash 를 통 해 스 크 립 트 호출
bash
4. 명령 에 별명 설정
(1) 시스템 의 명령 별명 보이 기
alias
(2) 별명 설정
alias =' '
메모: 별명 을 설정 하면 원래 명령 이 실 효 됩 니 다.또한 설 정 된 별명 은 시스템 에 존재 하지 않 아야 합 니 다.명령 설정 의 별명 을 사용 하고 시스템 이 로그아웃 되 지 않 거나 재 부팅 되 기 전에 유효 합 니 다. 오래 지속 되 어야 합 니 다. 설정 파일 을 수정 해 야 합 니 다 (3) 별명 을 삭제 해 야 합 니 다.
unalias
5. 추출 명령 grep
파일 에서 조건 에 맞 는 모든 문자 직렬 을 추출 합 니 다.
grep [ ] " "
옵션: • A 숫자: 조건 에 맞 는 줄 을 표시 하고 다음 n 줄 을 표시 합 니 다.B 숫자: 조건 에 맞 는 줄 을 표시 하고 앞의 n 줄 을 표시 합 니 다.c: 조건 에 맞 는 문자열 을 찾 은 횟수 를 통계 합 니 다.i: 대소 문자 무시 하기;출력 줄 번호v: 역방향 조사color = auto: 검색 한 키 워드 를 색상 으로 표시 합 니 다.
6. 파이프 문자
여러 명령 을 연결 하 는 데 사용 되 지만 다음 명령 의 실행 은 이전 명령 의 정확 한 출력 에 의존 합 니 다. "명령 1 | 명령 2"명령 2 는 명령 1 의 정확 한 출력 결과 만 처리 할 수 있 습 니 다.
ls -a /etc/ | more
7. bash 어댑터
어댑터 역할
8. 작은 따옴표 와 작은 따옴표, 작은 따옴표
작은 따옴표 안의 내용 은 문자열 로 쌍 따옴표 안의 내용 을 그대로 출력 할 수 있 습 니 다. 예 를 들 어 '$', '\' 는 명령 의 출력 을 호출 하거나 명령 의 출력 을 변수 에 할당 하려 면 작은 따옴표 가 필요 합 니 다. 작은 따옴표 와 작은 따옴표 의 혼동 을 피하 기 위해 서 는 작은 따옴표 대신 $(명령) 를 사용 합 니 다.
9. 괄호 와 괄호
괄호 와 괄호 는 다음 과 같은 차이 가 있 습 니 다. () 명령 을 실행 할 때 키 셸 을 다시 열 어 실행 해 야 합 니 다.{} 명령 을 실행 할 때 현재 셸 에서 실행 합 니 다.() 과 {} 은 모두 명령 을 괄호 안에 넣 고 명령 사 이 를 ';' 로 구분한다.() 마지막 명령 은 번 호 를 나 누 지 않 아 도 된다.{} 마지막 명령 은 분점 을 사용 해 야 합 니 다.{} 의 첫 번 째 명령 과 왼쪽 괄호 사이 에 빈 칸 이 있어 야 합 니 다.() 의 각 명령 은 괄호 와 빈 칸 이 있 을 필요 가 없습니다.() 와 {} 의 괄호 안에 있 는 명령 의 재 설정 은 이 명령 에 만 영향 을 주지 만 괄호 밖의 재 설정 은 괄호 안의 모든 명령 에 영향 을 줄 수 있 습 니 다.
사실 명령 을 실행 할 때 작은 괄호 를 사용 하면 이 명령 의 수정 은 하위 셸 에서 만 유효 합 니 다. 명령 실행 이 끝나 면 부모 셸 로 돌아 가면 이 수정 사항 을 잃 어 버 립 니 다.대괄호 를 사용 하면 이 문자열 명령 은 부모 셸 에서 직접 실 행 됩 니 다. 명령 실행 이 끝 난 후에 도 수정 이 적 용 됩 니 다.부모 셸 과 자식 셸 은 서로 간섭 하지 않 는 다.
10. 변수
(1) 변 수 는 알파벳, 숫자 와 밑줄 로 구성 되 어 있 으 며 숫자 로 시작 할 수 없습니다 (2) Bash 에서 변수의 기본 유형 은 문자열 형식 입 니 다. 수치 연산 이 필요 하 다 면 따로 지정 해 야 합 니 다.
:a=1+2
echo $a
1+2
(3) 변수 양쪽 은 "="로 연결 합 니 다. 등호 양쪽 에 빈 칸 (4) 변 수 를 중첩 할 수 없습니다. 두 가지 형식: "$변수 이름"또는 ${변수 이름} (5) 명령 의 결 과 를 변수의 값 으로 변수 에 할당 하려 면 $() (반 따옴표 사용 권장 하지 않 음) (6) 환경 변 수 는 대문자 로 구분 하 는 것 을 권장 합 니 다.
11. 사용자 정의 변수
(1) 설 정 된 변 수 를 조회 합 니 다.
set [ ]
옵션: • u: 이 옵션 을 설정 하면 설명 되 지 않 은 변 수 를 호출 할 때 오류 가 발생 합 니 다.x: 이 옵션 을 설정 하면 명령 이 실행 되 기 전에 명령 을 한 번 출력 합 니 다.
(2) 변수 삭제
Unset
12. 환경 변수 와 사용자 정의 변수
환경 변 수 는 전역 변수 이 고 사용자 정의 변 수 는 국부 변수 입 니 다.환경 변 수 를 설정 파일 에 기록 하면 환경 변 수 는 영구적 으로 존재 할 수 있 습 니 다. 그렇지 않 으 면 셸 이 종료 되면 환경 변수 도 효력 을 잃 습 니 다 (1) 환경 변수의 설정
Export age="18"
(2) 환경 변수의 조회
Set
Env
(3) 삭제
Unset
13. bash 위치 매개 변수 변수 용법
ls a.conf b.conf c.conf
// $0 ls ,$1,$2,$3 a.conf b.conf c.conf
위치 매개 변수 변수 역할
미리 정 의 된 변수 역할
Read 【 】 【 】
옵션: • p "알림 정보": read 입력 을 기다 리 는 동안 알림 정 보 를 출력 합 니 다. • t 초: read 명령 은 사용자 의 입력 을 기다 리 고 있 습 니 다. 이 옵션 을 사용 하면 대기 시간 을 지정 할 수 있 습 니 다. • n 문자 수: read 명령 은 지정 한 문자 수 만 받 으 면 실 행 됩 니 다. • - s: 입력 한 데 이 터 를 숨 기 고 기밀 정보의 입력 에 적 용 됩 니 다.
read -n 1 -t 30 -p "Please select your gender[M/F]:" gender
"성별 을 선택 하 십시오"를 알려 주 고 30 초 를 기 다 립 니 다. 사용자 의 입력 을 변수 gender 에 저장 합 니 다. "- n 1"옵션 을 사용 하면 입력 문자 만 받 으 면 실 행 됩 니 다. (Enter 키 를 누 르 지 않 아 도 됩 니 다)
16. 수치 연산
(1) declare 선언 변수 형식 사용
declare [+/-] [ ]
옵션: • -: 변수 에 유형 속성 을 설정 합 니 다. • +: 변수의 유형 속성 을 취소 합 니 다. • - a: 변 수 를 배열 형 으로 설명 합 니 다. • i: 변 수 를 정수 형 (integer) 으로 설명 합 니 다.; - r: 변 수 를 읽 기 전용 변수 로 설명 합 니 다. 읽 기 전용 변수 로 설정 하면 변수의 값 을 수정 할 수도 없고 변 수 를 삭제 할 수도 없 으 며 + r 를 통 해 읽 기 전용 속성 을 취소 할 수도 없습니다.
Name[0]="zhang san"
Name[1]="li ming"
Name[2]="xiao ming"
echo ${name}
// zhang san
echo ${name[*]}
// zhang san li ming xiao ming
(2) expr 또는 let 수치 연산 도 구 를 사용 합 니 다.
Dd = $(expr $aa + $bb)
주의 + 번 양쪽 에 빈 칸 이 있어 야 합 니 다. 그렇지 않 으 면 연산 이 실행 되 지 않 습 니 다.
let ee = $aa+$bb ( )
(3) $(연산 식) 또는 $[연산 식]
Gg=$[$aa+$bb]
17. 상용 연산 자
-,+ 、
!,~ 、
*, /, % 、 、
+, - 、
<> 、
<=, >=, 、 、 、
== ,!= 、
&
^
|
&&
II
=,+=,•=,*=,/=,%=,&=, |=, <<=, >>= 、