쉘 노트 (A)

무엇 1.Shell인가?

쉘은 사용자가보다 효율적으로, 안전하고 쉘의 본질이다 리눅스 커널, 비용 효율적으로 활용 될 수 있도록 사용자와 리눅스 커널을 연결하는 응용 프로그램입니다.

2.Shell 환경

쉘은 하나의 텍스트 편집기와 그것의 구현을 설명하는 스크립트 인터프리터에서 코드를 작성할 수만큼, 자바, PHP 프로그래밍과 프로그래밍.

대부분의 리눅스 쉘 타입, 일반은 다음과 같습니다 Bourne 쉘 (은 / usr / bin / sh 또는 / bin / SH), Bourne의 다시 쉘 (/ 빈 / bash에), C 쉘 (/ usr / bin / csh), K 쉘 ( 는 / usr / 빈 / KSH), 루트에 대한 쉘 (/ sbin에 / SH)

#! 시스템이 스크립트 파일의 프로그램 쉘 설명에 지정된 경로를 따라 지시합니다.

두 쉘 접근 실행합니다

1) 실행 프로그램으로서

chmod를 + X ./test.sh # 스크립트가 실행 권한을 가지고 
./test.sh # 스크립트 실행 

주의, 리눅스 PATH 시스템은 사람의 이름 test.sh을 찾아 갈 것입니다, 직접 test.sh도 쓰기 다른 바이너리 프로그램을 실행하지 않고 test.sh보다 ./test.sh를 작성해야하지만 단지 / 빈 / sbin에,는 / usr / 빈 ,은 / usr / sbin에 그래서 PATH에 현재 디렉토리가 test.sh 순서를 작성 찾을 수 없습니다, 그래서 ./test.sh 말을 사용하도록 시스템을 알려줍니다, 일반적으로하지 경로에에 현재 디렉토리에서 찾을 수 있습니다 .

2)와 같은 파라미터를 설명

이 작동 모드는 파일 이름 매개 변수는 다음과 같은 쉘 스크립트입니다 직접 인터프리터 실행 :

/ 빈 / 쉬 test.sh / 빈 / php에 test.php

스크립트가 실행되는이 방법은 첫 번째 줄에는 정보가 통역을 지정합니다.

3.Shell 변수

변수 1) 정의

당신은 달러 기호가없는 변수, 변수 이름을 정의, (여기서주의와 PHP 변수 정의는 구별을) 변수 이름과 등호 사이에는 공백이 없다는 것을 참고.

한편, 변수 이름의 이름은 다음 규칙을 따라야합니다 :

1. 첫 번째 문자는 문자 (AZ, AZ) 여야합니다.

2. 공백없이, 당신은 밑줄 (_)을 사용할 수 있습니다.

3. 문장 부호를 사용할 수 없습니다.

4. 배쉬는 (사용 가능한 예약 된 키워드를 보려면 help 명령) 키워드를 사용할 수 없습니다.

2) 변수 사용

같은 이전에 정의 된 변수, 너무 오래에 달러 기호 앞에 변수 이름을 사용합니다 :

your_name군요 "는 마이크를"= 
에코 $ your_name군요 
에코 $ {your_name군요}

변수 이름 중괄호는 선택, 플러스 아무것도하지 않고, 그래서 우리가 수행하는 문장의 일부 수행하지 않도록, 좋은 습관을 형성하기 위해, 중괄호, 국경 인터프리터 변수를 확인하는 것이 좋습니다 도움에 괄호를 추가 외부 원치 않는 결과.

3) 정의 된 변수를 재정의 할 수있다

your_name군요는 "톰"= 
에코 $ your_name군요 
your_name군요는 "알리바바를"= 
에코 $ your_name군요

쓰기는 합법적이지만, 참고 두 번째 할당은 달러 기호 ($)를 추가 할 때 변수를 사용하여 $ your_name군요 = "알리바바"를 쓸 수 없을 때.

4) 판독 전용 변수

읽기 전용 변수로 변수를 정의하는 읽기 전용 명령을 사용하여 읽기 전용 변수의 값을 변경할 수 없습니다.

당신이 변화를 시도 할 경우 주어집니다.

4) 삭제 변수

변수를 제거하려면 해제 명령을 사용하십시오. 구문 :

해제 VARIABLE_NAME 

변수가 삭제 한 후 다시 사용할 수 없습니다. 해제 명령은 읽기 전용 변수를 제거 할 수 없습니다.

4) 변수 유형

당신이 쉘을 실행하면, 동시에 세 개의 변수가있다 할 것이다 :

1. 지역 변수 스크립트 또는 명령에 정의는 현재 쉘 인스턴스에서만 유효, 다른 쉘 프로그램이 지역 변수에 액세스 할 수 없습니다 시작합니다.

2. 환경 변수 환경 변수에 액세스 할 수 있습니다 프로그램 시작 쉘을 포함한 모든 프로그램은 어떤 프로그램이 정상 작동을 보장하기 위해 환경 변수를 필요로한다. 필요한 경우, 쉘 스크립트는 환경 변수를 정의 할 수 있습니다.

3.Shell의 변수는 쉘 프로그램에 의해 특별한 변수 세트입니다. 쉘 변수 일부 로컬 변수는 쉘의 정상적인 작동을 보장하며, 환경 변수의 일부이다.

4.Shell 문자열

1) 작은 따옴표

STR = '이 문자열입니다' 

단일 인용 문자열 제한 :

1. 따옴표의 모든 문자는 직접 출력 단일 인용 문자열 변수 무효입니다;

2. 작은 따옴표 문자열이없는 작은 따옴표 표시 (따옴표도 사용 후 탈출), PHP는 작은 따옴표 작은 따옴표가 탈출 할 수 있음을 주목해야한다.

2) 큰 따옴표

your_name군요 '는 qinjx'= 
STR = $ your_name군요 "안녕하세요, 저는 당신의 \ 알고"\ "! \ n" 

따옴표의 장점 :

1. 큰 따옴표는 변수를 가질 수 있습니다

2. 큰 따옴표를 이스케이프 문자를 표시 할 수 있습니다

3) 문자열 연결

your_name군요는 "안녕 안녕"= 
"안녕하세요,"your_name군요을 $ 인사 = "!" 
greeting_1 = "안녕하세요, $ {your_name군요}!" 
에코 $를 $ greeting_1 인사 

3) 문자열 길이를 가져옵니다

사용 $ {# 문자열} 가져 문자열 길이

문자열 = "abcd와" 
에코 $ {# 문자열 # 4} 출력 

4) 추출 문자열

사용 $ {문자열 : m : n을} 문자열, 예를 추출

문자열 = "PHP는 좋은 사이트입니다" 
에코 $ {문자열 : 1 : 4} # 출력 마력 전

5) 문자열을 찾기

문자 "찾기 내가 S 위치를"

문자열 = "PHP는 큰 회사입니다" 
에코`EXPR 지수 # 5 출력 is` "$ 문자열" 

5.Shell 어레이

배시 지원 일차원 배열 (다차원 배열을 지원하지 않음), 상기 배열의 크기를 제한하지 않는다. C 언어와 마찬가지로, 배열 요소의 첨자가 0에서 시작하여 번호된다. 배열 첨자 인덱스 요소의 사용을 획득하기 위해서는 그 값이 0보다 같거나 큰 정수 산술 표현 될 수있다.

배열 1) 정의

셸과 어레이 괄호 배열 요소 " 공간 심볼을 분할". 으로 정의 된 어레이의 일반적인 형태 :

어레이 이름 = (값 1 값 2 ... n 값) 

예를 들면 :

ARRAY_NAME = (value0 VALUE1 VALUE3 값 2) 

또한 각 개별 성분의 배열을 정의 할 수 있습니다 :

ARRAY_NAME [0] = value0 
ARRAY_NAME [1] = VALUE1 
[N]을 ARRAY_NAME 값 N = 

지속적으로 첨자를 사용할 수 없으며 첨자 범위가 한정되는 것은 아니다.

2) 어레이 읽기

판독 배열 요소 값의 일반적인 형식은 다음과

{$ 배열 이름 [인덱스]} 

예를 들면 :

값 N = $ {ARRAY_NAME [N]} 

배열의 모든 요소를 얻을 수있는 @ 기호를 사용하여 예를 들어, :

3) 배열 길이 얻기

방법, 예를 들면, 동일한 문자열 길이를 구하는 방법의 배열 길이 얻을 :

# 배열 요소의 수를 가져옵니다 
길이 = $ {#의 ARRAY_NAME [@]} # 或者 길이 = $ {#의 ARRAY_NAME [*]} 
# 배열 요소의 하나의 길이를 구하는 
lengthn = $ {#의 ARRAY_NAME [N]} 

추천

출처www.cnblogs.com/xiaojiang0414/p/12577306.html