쉘 변수 : - 우 육시 엉 자연스럽게 ShellX 연구 노트를 탄생

당신과 같은 변수, 달러 기호 ($는, PHP 언어 변수가 필요)없는 변수 이름을 정의 할 때 : 
your_name군요는 = " runoob.com " 
당신과 모든 프로그래밍 언어에 익숙 할 수있는 변수 이름과 등호 사이에 공간이 있다는 것을 참고 그들은 동일하지 않습니다. 한편, 변수 이름의 이름은 다음 규칙을 따라야합니다 : 
문자, 숫자 및 밑줄을 명명, 첫 번째 문자는 숫자로 시작할 수 없습니다. 
공간을 제외하고, 당신은 밑줄 (_)을 사용할 수 있습니다. 
당신은 문장 부호를 사용할 수 없습니다. 
강타는 (사용 가능한 예약 된 키워드를 보려면 help 명령) 키워드를 사용할 수 없습니다. 
예로 쉘 유효한 변수 이름 : 
RUNOOB 
LD_LIBRARY_PATH에의 
_var의 
VAR2의 

같은, 또한 변수 할당 문에 사용할 수있는 명시 적으로 직접 할당에 추가 : 
대한 파일  `LS / etc` 
에 대한 파일 에서 $ (LS / 등) 
문 위 / 등 순환 중 파일 이름으로 디렉토리.
변수를 사용하여 
다음과 같은 변수 이름 앞에에서 달러 더하기 기호만큼, 변수가 이전에 정의 된 사용 : 
your_name군요이 = " qinjx를 " 
에코 $ your_name군요 
에코 $ {} your_name군요 
중괄호 외부 변수 이름은 모든없이 선택 사항, 플러스 OK, 도움에 추가 중괄호는 다음과 같은 경우로, 경계 인터프리터 변수를 식별 : 
대한 기술 에서 에이다 자바 커피 액션, 할 
    에코 " 는 I AM AT $ {기술} 좋은 스크립트 " 
DONE 
이 기술 변수 꽃에 추가하지 않으면 브라켓, 에코 작성 " 는 I AM AT $ skillScript 좋음 " , 인터프리터가 (그 값이 비어있는) 변수로 skillScript $를 넣어 것입니다, 코드 실행은 우리가 다시 같은 기대 결과가 아닙니다. 
모든 변수 중괄호 추천, 이것은 좋은 프로그래밍 습관이다. 
정의 된 변수는 재정의 같은 될 수 
your_name군요은 = " " 
에코 $ your_name군요 
your_name군요 =를 "알리바바 " 
에코 $ your_name군요 
쓰기는 합법적이지만, 참고 두 번째 your_name군요의 할당이 $ 쓸 수 없습니다 때 = " 알리바바 " 는 달러 기호 ($)를 추가 할 때 변수를 사용하여.
읽기 전용 변수 
읽기 전용 명령 변수를 사용하여 변수를 읽기 전용으로 정의 될 수 있으며, 판독 전용 변수의 값이 변경 될 수 없다. 
다음 예는 읽기 전용 변수, 오류의 결과 변경하려고 
# / 빈은 / bash에! 
myURL이 = " http://www.google.com " 
읽기 전용 myURL이 
myURL이 = " http://www.runoob.com " 
스크립트를 실행, 결과를 로 다음과 같습니다 :
 / 빈 / SH 이름 :이 변수는 IS 에만 읽기.
삭제 변수가 
설정되지 않은 명령은 변수를 삭제합니다. 구문은 : 
해제 VARIABLE_NAME는 
변수가 삭제 한 후 다시 사용할 수 없습니다. 해제 명령은 읽기 전용 변수를 제거 할 수 없습니다. 
예제 
# ! / 빈 / SH의 
myURL이는 = " http://www.runoob.com " 
해제 myURL이 
에코 $의 myURL이 
위의 예는 출력을 수행하지 않습니다.
변수 유형 
세 가지 변수의 종류가있을 것 동안, 쉘을 실행할 때 :
 1 스크립트 또는 명령에 정의 된) 지역 변수 지역 변수, 현재 쉘 인스턴스에서만 유효, 다른 쉘 프로그램이 로컬 변수를하지 액세스 할 수 있습니다 시작합니다.
2 쉘 포함) 환경 변수 모든 절차는 일부 프로그램이 정상 작동을 보장하기 위해 환경 변수를 요구, 캔 액세스 환경 변수를 시작한다. 필요한 경우, 쉘 스크립트는 환경 변수를 정의 할 수 있습니다.
. 3)은 쉘 프로그램에 의해 특별 쉘 변수 쉘 변수 변수 집합이다. 쉘 변수 환경 변수 부분은 쉘의 정상적인 작동을 보장하기 위해 일부 로컬 변수에서,
쉘 문자열 
문자열 쉘 프로그래밍은 가장 일반적이고 (숫자, 문자열, 또한 편리한이 부족의 다른 유형 제외) 데이터의 유용한 유형, 작은 따옴표로 둘러싸인 문자열 큰 따옴표를 사용할 수있다, 그것은 따옴표없이 실시 될 수있다 . 단일 및 이중 따옴표의 차이는 PHP와 유사하다. 
따옴표 
STR은 = ' 이 본는 문자열 " 
제한 단일 인용 문자열 : 
따옴표 모든 문자를 직접 출력 단일 인용 문자열 변수 무효이고; 
따옴표 모든 문자 따옴표로서 출력 변수 문자열이 잘못되었습니다;
따옴표는 
your_name군요 필드 = ' runoob ' 
STR은 = " your_name군요 필드 \ $ 헬로은, 내가 아는 당신이 \하다", "\ N-를! " 
에코 - E $ STR의 
출력은 다음과 같습니다 
헬로은 내가 당신이 알고있다 " runoob " ! 
의 장점 따옴표 : 
큰 따옴표는 변수가있을 수 있습니다 
이스케이프 문자를 나타날 수 있습니다 따옴표
문자열 연결 
your_name군요 필드 =이 " runoob " 
# 따옴표가 스플 라이스 
인사말 = " 안녕하세요, " your_name군요 필드 $ " ! " 
Greeting_1는 = " 안녕하세요의 your_name군요 필드 $ {}! " 
에코 $ $ greeting_1 인사말 
# 작은 따옴표 접합 
greeting_2 = ' , 안녕하세요 ' your_name군요 필드를 $ ' ! ' 
greeting_3 = ' 안녕하세요의 your_name군요 필드 $ {}! ' 
에코 $ $ greeting_3 greeting_2 
출력 : 
안녕하세요, 안녕하세요 runoob runoob! 
안녕하세요, 안녕하세요 runoob의 your_name군요 필드} $ {!
가져 오기 문자열 길이 
문자열 = " ABCD " 
에코 $ { #의 문자열} # 4 출력 

추출 된 하위 문자열 
다음의 문자열에서 예 4 개부터 촬영 두 문자 문자 : 
문자열 = " runoob 그레이트 사이트 A입니다 " 
에코 $ {문자열 : 1 : 4} #의 출력이 unoo 

하위 문자열 찾기 
(편지가 무엇을 먼저 계산 온다) 문자 또는 내가 오 위치 찾기 : 
문자열 = " 입니다 위대한 사이트 가기 runoob " 
에코`EXPR 지수 " $ 문자열을 " io`   #의 출력 4 
주 : 위의 스크립트`안티 따옴표보다는 작은 따옴표 '
셸 어레이 
배시 지원 일차원 배열 (다차원 배열을 지원하지 않음), 상기 배열의 크기를 제한하지 않는다. 
C 언어와 마찬가지로, 배열 요소의 첨자가 0에서 시작하여 번호된다. 배열 첨자 인덱스 요소의 사용을 획득하기 위해서는 그 값이 0보다 같거나 큰 정수 산술 표현 될 수있다. 
배열 정의 
배열 요소 어레이 괄호와 셸 " 공간 " 분할 된 심볼. 으로 정의 된 어레이의 일반적인 형태 : 
배열 이름 = (값 1 개 값 2 ... n 값) 
, 예를 들어 
ARRAY_NAME = (값 value0 1, 값 VALUE3) 
또는 
ARRAY_NAME =는 ( 
value0는 
VALUE1 
값 2 
VALUE3는 
) 
도 별도의 개별 구성 요소의 배열을 정의 할 수 
ARRAY_NAME을 [0] = value0, 
ARRAY_NAME [ . 1] = VALUE1 
ARRAY_NAME는 [N-] = 값 N은 
연속 첨자하지 않을 첨자 범위가 한정되는 것은 아니다.
어레이 읽기 
일반 포맷 배열 요소의 값을 판독 
$ {배열 이름 [인덱스]} 
예 : 
값 N = $ ARRAY_NAME {[N-]} 
@, 어레이의 모든 요소에 액세스 할 수있는 로그인 예 : 
에코 $ {ARRAY_NAME을 [@]} 

배열의 길이를 얻기 위해 
예를 들어, 동일한 문자열 길이를 구하는 것과 같은 배열 길이 방식을 획득 : 
# 취득 배열 요소 번호 
길이 = $ { #의 ARRAY_NAME [@]} 
# 또는 
길이 = $ { #의 ARRAY_NAME [ *]} 
# 개별 요소들의 어레이의 길이 취득 
lengthn = $ { #의 ARRAY_NAME [N-]}
# 라인의 시작 주석과 통역을 무시됩니다. 
추가하여 각 행 #의 수는 다음과 같이 여러 줄 주석을 설정 : 
# ---------------------------------- ---------- 
# 이 주석 인 

여러 줄 주석 
: 여러 줄의 코멘트는 다음과 같은 형식으로 사용할 수 있습니다 
: << EOF의 
주석 내용 ... 
주석 내용 ... 
주석 내용 ... 
EOF 

수 EOF를 다른 기호를 사용합니다 
: << '
 코멘트 내용 ... 
코멘트 내용 ... 
각주 ... 
'
 
: << ! 
각주 ... 
주석 내용 ... 
각주를 ... 
!

 

추천

출처www.cnblogs.com/tszr/p/12111255.html