[셸] 10 분 동안 가볍게 입문 하기;만약 입문 하지 않 았 다 면 침 을 뱉 고 가 십시오!
셸 이 뭐야?
1. Shell 은 프로그램 입 니 다. Linux 는 기본적으로 bash 를 사용 합 니 다.
Shell 은 C 언어 로 작 성 된 프로그램 으로 명령 언어 이자 프로 그래 밍 언어 로 사용자 가 Linux 를 사용 하 는 다리 입 니 다.
Linux 의 Shell 에는 많은 종류 가 있 습 니 다. 예 를 들 어 mac 에 서 는 zsh, ubuntu 는 dash 를 사용 하고 자주 사용 하 는 Linux 에 서 는 Bash, 즉 Bourne Again Shell (/ bin / bash), Bourne Shell (/ usr / bin / sh 또는 / bin / sh) 의 확장 판 을 사용 합 니 다.
2. 셸 script 은 셸 을 사용 하 는 스 크 립 트 입 니 다.
우리 가 일반적으로 말 하 는 셸 은 셸 스 크 립 트, 즉 셸 script 을 말 하 며 셸 을 사용 하기 위 한 스 크 립 트 프로그램 입 니 다.파일 접 두 사 는. sh 로. bat,. js,. ptyhon 과 본질 적 인 차이 가 없 으 며 서로 다른 환경 에서 실행 가능 한 파일 이 아 닙 니 다.
3. 모든 스 크 립 트 는 명령 과 프로 세 스 제어 의 조합 이 아 닙 니 다.
if 판단 조건, for, while 순환, 모든 프로그램 이 오른쪽 에 있 습 니 다.
Shell 프로 그래 밍 은 무엇 을 할 수 있 습 니까?어떤 우세 가 있 습 니까?
1. 우리 가 자주 사용 하 는 명령 을 경화 시 키 고 많은 절 차 를 하나의 스 크 립 트 로 합 쳐 합 친다.
2. 우리 프로그램 배 치 를 진행 할 때 작 동, 정지 스위치 를 자주 사용 합 니 다.
3. 스 크 립 트 언어 로 서 Linux 에서 자 연 스 러 운 실행 환경 을 가지 고 가 볍 고 편리 합 니 다.
셸 이 개발 / 운영 / 테스트 에 어떤 도움 이 되 는 지 알 아 보 세 요.
1. 배치 업 무 를 쉽게 감당 할 수 있다.
2. Linux 명령 과 그 작업 체 제 를 숙지 합 니 다.
3. 온라인 문 제 를 조사 하 는 것 이 편리 하 다.
4. 문제 해결 의 방향 을 넓 히 고 해결 방안 을 확대 한다.
셸 의 기본 문법
나 는 셸 의 기본 문법 을 세 조각 으로 나 누 었 다. 변수, 연산 자, 조건, 순환, 함수 이다.
PS. 사실 모든 언어 는 기본적으로 이 몇 개 로 구성 되 어 있 습 니 다.
변량
변수 할당
예시:
war_name=yao。
주의:
1. 변수 이름과 등호 사이 에 빈 칸 이 있어 서 는 안 됩 니 다.
2. 이름 은 영문 자모, 숫자 와 밑줄 만 사용 할 수 있 고 첫 번 째 문 자 는 숫자 로 시작 할 수 없습니다.
3. 중간 에 빈 칸 이 없 으 면 밑줄 () 을 사용 할 수 있 습 니 다.
4. "." 와 같은 문장 부 호 를 사용 할 수 없습니다.
5. bash 의 키 워드 를 사용 할 수 없습니다 (help 명령 으로 보존 키 워드 를 볼 수 있 습 니 다).
변수 사용
예시:
echo ${war_name}
echo $war_name
echo “war name is $war_name”
변수 매개 변수
1. $\ # 스 크 립 트 에 전 달 된 매개 변수 갯 수
2. $1 이 스 크 립 트 에 전달 하 는 첫 번 째 매개 변 수 는 n 입 니 다.
3. $* 모든 매개 변 수 를 문자열 로 합성 합 니 다.
4, $@ 모든 인자, 하나의 배열
5, $$현재 스 크 립 트 가 실행 중인 프로 세 스 번호, pid
첫 번 째 예제 스 크 립 트
vi 001.sh
#!/bin/sh
# author:
echo "Shell !";
echo " :$1";
echo " :$#";
echo " :$*";
출력 결과:
Shell !
:1
:5
:1 2 3 4 5
연산 자 & 산술 명령
상용 연산 자
연산 자
설명 하 다.
+、- 、* 、/、%
수치: 더하기, 빼 기, 곱 하기, 나 누 기, 나머지
!、-o、-a、&& 、
||
논리: 비, 비, 또는, and, or
==、!=、 、>=
비교: 같다, 비 같다, 작다, 작다, 크다, 크다
=、+=、-=、*=、/=、&=
할당: 더하기, 마이너스, 곱 하기, 나 누 기, 나머지 와 같다.
~、
|
、&、^ 위치 비교: 위치 에 따라 반 을 취하 고 위치 에 따라 이동 하거나 위치 에 따라, 위치 에 따라 또는
<< 、 >>
비트 연산: 왼쪽으로 이동, 오른쪽으로 이동
++、--
늘다
관계 연산 자
관계 연산 자 는 숫자 비교 뿐만 아니 라 문자 비교 도 지원 합 니 다.
관계 연산 자
설명 하 다.
예시
-eq
같은 반환 true, 쓰기 [$a - eq $b]
[$a - eq $b] true 로 돌아 가기
-ne
같 지 않 음 true 로 돌아 가기
[$a - ne $b] 트 루 로 돌아 가기
-gt
반환 트 루 보다 크 기
[$a - gt $b] false 로 돌아 가기
-lt
복귀 true 보다 작 음
[$a - lt $b] true 로 돌아 가기
-ge
반환 true
[$a - ge $b] false 로 돌아 가기
-le
트 루 로 돌아 가 는 것 보다 작 음
[$a - le $b] true 로 돌아 가기
파일 테스트 연산 자
연산 연산 자 와 연산 명령
설명 하 다.
-d file
파일 이 디 렉 터 리 인지 확인 하면 true 로 돌아 갑 니 다.쓰기 [- d $file]
-f file
일반 파일 인지 여부
-r file
읽 을 수 있 는 지 여부
-w file
쓸 수 있 는 지 여부
-x file
실행 가능 여부
-s file
비어 있 는 지 여부 (파일 크기 가 0 이상 인지 여부)
-e file
파일 (디 렉 터 리 포함) 이 존재 하 는 지 검사 합 니 다.
연산 연산 자 와 연산 명령
연산 연산 자 와 연산 명령
설명 하 다.
[()]
정수 연산 을 자주 사용 하여 효율 이 높다.
let
"[()" 와 유사 하 다
expr
수 동 명령 행 카운터
bc
계산기
$[]
정수 연산
awk
셸 명령 신기
declare
변수 와 속성 을 정의 할 수 있 습 니 다. - i 매개 변 수 는 성형 변 수 를 정의 할 수 있 습 니 다.
조건.
if
if condition
then
command1
command2
...
commandN
fi
if else-if else
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
case
case in
1)
command1
;;
2)
command1
;;
esac
순환 하 다.
for
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
while
while condition
do
command
done
condition 이 false 이면 정지
until
until condition
do
command
done
condition 이 true 이면 멈 추고, 일반적으로 사용 하지 않 습 니 다.
함수.
function
[ function ] funname [()]
{
action;
[return int;]
}
예시
#!/bin/bash
# author:yaomaomao
demoFun(){
echo " shell !"
}
echo "----- -----"
demoFun
echo "----- -----“
출력 결과:
----- -----
shell !
----- -----
특수 기호
기호 형식
상용 부호
주석 부호
#
파이프 문자
|
입 출력
, > > 와 0, 1, 2
일치 문자
? 、*
따옴표
’’、””
배경 프로 세 스 문자
&
상 시 실행 명령
nohup
기호 용법 과 해석
서비스 실행 명령 예시 와 해석:
nohup Xxx > /dev/null 2>&1 &
2 > & 1 은 표준 오 류 를 표준 출력 으로 재 설정 한 다 는 뜻 이다.이 표준 출력 은 / dev / null 로 바 뀌 었 습 니 다.그러면 표준 오류 도 / dev / null 로 출력 됩 니 다.
nohup 은 no hang up 입 니 다. 인 터 럽 트 를 위해 계속 실행 되 지 않 습 니 다. 보통 & 와 함께 사용 합 니 다.
& 배경 이 실행 되 고 터미널 이 종료 되면 프로 세 스 가 끝 납 니 다.
다시 방향 을 정 하 는 지 테스트 해 보 세 요.
ls 2>1
테스트 해 보 세 요. 2 파일 이 없 는 오 류 는 보고 하지 않 지만 빈 파일 1 을 출력 합 니 다.
ls xxx 2>1
xxx 이 파일 의 오류 가 1 에 출력 되 지 않 았 습 니 다.
ls xxx 2>&1
& 사이 에 빈 칸 이 있어 서 는 안 되 며, 이때 결 과 를 관찰 할 수 있다.1. 이 파일 을 만 들 지 않 습 니 다. 오류 가 표준 출력 으로 달 려 갔 기 때 문 입 니 다.
ls xxx > s.log 2>&1
# ls xxx 1> s.log 2>&1
리 셋 기호 > 기본 값 은 1 입 니 다. 오류 와 출력 이 s. log 로 전 달 됩 니 다.
스 크 립 트 실행
실행 예시
1. 상대 경로
./001.sh
2. 절대 경로
/root/shell/001.sh
3. 스 크 립 트 실행 권한 이 필요 없 이 bash 권한 만 필요 합 니 다.
sh 001.sh
bash 001.sh
4. 현재 셸 환경 실행
source 001.sh 、 . 001.sh
1 과 2 는 하위 프로 세 스 를 시작 하기 위해 스 크 립 트 를 실행 하고 실행 이 완료 되면 하위 프로 세 스 를 닫 습 니 다.
3, 4 는 현재 셸 환경 에서 실 행 됩 니 다. 실 행 된 프로그램 에서 환경 변수 에 대한 변경 이 있 고 현재 셸 환경 에 남아 있 기 를 바 랍 니 다.
시나리오 실전
1. 파일, 폴 더 일괄 생 성
2. 파일 내용 일괄 교체
3. 큰 파일 찾기 및 삭제 문의
4. 만 료 된 파일 자동 삭제
5. 디스크, cpu, 메모리 의 지속 적 인 출력 모니터링 결과
이상 의 문 제 는 생산 과정 에서 자주 사용 되 는 스 크 립 트 입 니 다.응, 구체 적 인 내용 은 헤헤, 다음 에 얘 기 하 자.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.