기본 쉘 프로그래밍 (실제) 및 일반적인 리눅스 명령

선언 변수
X = 5
에코 $ X --- "출력 (5)
Z = X + 6 $은
5 + 6 출력 $ Z --- 에코"
중첩 변수 :
X = 123
Y = "$ X"456
에코 $ Y가 - -> 출력 123456

시스템 변수의 정의 : 이미 힘에있는 모든 시스템의 변수를 볼 수있는 설정은 다음과 같습니다.

-u 세트
에코 $ A -----> 출력 공간 또는 빈
미리 입력 세트 -u 경우
에코 미표시 입력 변수를 호출 할 때 $ A ----- "불평한다.

설정되지 않은 변수 이름은 변수 삭제
삭제 변수가 아닌 변수의 값이기 때문에, $없이 설정되지 않은 이름입니다.

환경 변수 :
환경 변수 및 사용자 정의 변수의 차이점은 무엇입니까?
사용자 정의 변수는에 현재 쉘에 적용
현재의 모든 서브 쉘 쉘에 적용하려면 환경 변수와 쉘의
환경 변수는 글로벌 변수
사용자 정의 변수는 로컬

서브 쉘로 현재 쉘에서 입력 bash는
pstree보기를 입력 할 수 있습니다 프로세스 트리 : 당신이 쉘이 다른 아들 쉘이며, 현재이 있음을 나타내는 두 개의 배쉬을 볼 수 있습니다.
쉘 현재 서브 쉘에서 종료 종료 입력

환경 변수 이름과 힘에서 시스템의 역할 고정됩니다.

환경 변수를 설정합니다 :
변수의 변수 이름 값 수출
또는 변수 이름 변수 값
수출 변수 이름을

모든 변수를 볼 수 :
세트를 : 모든 변수 참조
ENV :보기 환경 변수
환경 변수 삭제 :
설정되지 않은 변수의 이름을

주로하고 명령 구분, 자본 작성 제안 환경 변수 이름을, 리눅스 때문에 명령은 소문자된다.

일반적인 환경 변수 :
HOSTNAME : 호스트 이름
SHELL : 현재 쉘
TERM : 인터럽트 컨텍스트
HISTSIZE : 히스토리 명령 모음 번호
SSH_CLIENT : 현재 운영 환경 여기서 IP 기록 클라이언트 SSH 접속을 사용하는
단말의 SSH 접속 PTS / 1 SSH_TTY
는 USER : 사용자가 현재 로그온 한

모든 리눅스 스크립트 반드시 번호 / 빈 / 시작 떠들썩한 파티! 그런 다음 변수를 정의로 이동합니다.

PATH 환경 변수
PATH 변수 : 경로 시스템 명령 찾기
$ PATH 에코
#은 PATH 환경 변수보기
/ 루트 / SH의 : PATH = "$ PATH를"
#이는 PATH 변수의 값 증가

: PS1 환경 변수
PS1 변수 : 명령 프롬프트 설정을
\ D : 표시 형식 "요일"의 날짜
\ H는 : 전체 호스트 이름을 표시합니다. 기본 호스트 이름 "localhost.localdomain"
\ T : 24 시간 표시의 형식 "HH : MM은 : 친위대"
\ A : 24 시간 표시, "HH : MM은"형식
\ U : 표시 현재 사용자 이름
\ w :은 현재 디렉토리의 전체 이름
W \ 디스플레이의 현재 디렉토리의 마지막 디렉토리
\ $ : 프롬프트. 프롬프트 루트 사용자가 표시되면, "#"는 프롬프트 일반 사용자가 "$"인 경우 표시됩니다
예를 들어 : [루트 @ iZ2ze57xep3rm7w9t2l85cZ SRC] # PS1 = '[\ U @ \ v \ W] \ $'
실행을 [루트 @ 09 : 57 / usr / 지방 / SRC] #
만 현재 효과가 재시작 회복은 [루트 @ iZ2ze57xep3rm7w9t2l85cZ 로그] #
실행 : $ PS1 에코
출력 : \ U \ @ H \ W] \ $ 즉 원래 PS1은 정의
기본은 완성 된 진입을 가지고하지, 포장 : LS를 \.

언어 변수 : 현재 언어 쿼리.
로케일 :보기 언어입니다.
입력 : 로케일
출력 : [루트 @ 09 : 57 / usr / 지방 / SRC] # 로케일
LANG =은 en_US.UTF-8 : 미국학과 언어.
= LC_CTYPE ". 8 - 더의 en_US.UTF"
LC_NUMERIC = ". 8 - 더의 en_US.UTF"
LC_TIME = ". 8 - 더의 en_US.UTF"
LC_COLLATE = ". 8 - 더의 en_US.UTF"
LC_MONETARY = ". 8 - 더의 en_US.UTF"
LC_MESSAGES = "는 ko 페이지. . UTF-8 "
LC_PAPER ="는 en_US.UTF-. 8 "
LC_NAME ="는 en_US.UTF-. 8 "
LC_ADDRESS ="는 en_US.UTF-. 8 "
LC_TELEPHONE ="는 en_US.UTF-. 8 "
LC_MEASUREMENT ="는 en_US.UTF-. 8 "
LC_IDENTIFICATION = "은 en_US.UTF-8"
LC_ALL =
명령의 크기의 통계 지점 : -h 안양
[루트 @ iZ2ze57xep3rm7w9t2l85cZ SRC] DF -h : 출력
언어가 중국어 인 경우,이 라인은 중국어로 표시됩니다 소용이 사용 %는에 장착 사용 된 파일 시스템 크기.
/ 디바이스 / vda1 40G 4.8G 33G 13 % /
devtmpfs 486M 0 486M 0 % / DEV
의 tmpfs 496m 0 496m 0 % / 디바이스 / SHM
의 tmpfs 496m 452K 496m. 1 % / RUN
의 tmpfs 496m 0 496m 0 % / SYS / FS / cgroup에
의 tmpfs 100M 0 100M 0 % / RUN / 사용자 / 0

LANG은 : 시스템 변수의 정의의 주요 언어는
에코 $ LANG은 : 현재 언어 표시
로케일 -a | 더보기 : 리눅스는 모든 언어를 지원 참조
LC_ALL을 : 변수의 전반적인 언어 정의

고양이 / 등 / SYSCONFIG / 국제화 : 리눅스는 모든 파일, 풋입니다 문서가 영구적으로 시행한다. 여기에서 언어는 현재 리눅스의 언어, 그리고 다시 시작하거나 다음 부팅 구성 언어는 여전히 여기에있다.

위치 매개 변수 :
$ N- : N-디지털 명령 자체 10 매개 변수 예를 들어 $ {10}의 괄호로는 필요한 것보다 아홉 번째 매개 변수에 대한 첫 번째 나타내는 $ 1- $ 9 $ 0
예 1 :.
! 번호 / 빈 / 떠들썩한 파티
NUM1 = $ 1
NUM2 = $ 2
시 합 = $ (($ NUM1 + $ NUM2)) #의 NUM1에 $ 1 값을 NUM2의 값은 $ 2
$ 합 에코 :의 인쇄 가변 합계 값
실행 권한을 부여 할 : chmod를 755 ** SH.
1. 파일의 소유자가 읽기 - 쓰기 실행 6 : 읽기 및 쓰기
속하는 사용자가 읽을 수있는 실행 파일의 그룹 2. 다른 사용자에게 파일의 소유자
3. 다른 사용자 그룹 읽을 실행
실행 :. ./** 쉬 (10) (11)
출력 : 21
사용에 이상 개발자, 타사에서 사용에 적합하지 않습니다.
$ * :이 변수는 명령 행 매개 변수를 모두 나타내는 $ * 모든 전체 매개 변수
$ @ :이 변수는 명령 줄 매개 변수를 모두 나타냅니다 만 $에 각 매개 변수 @ 사이에 구별
$ # :이 변수는 모든 명령 라인 파라미터를 수 나타낸다

된 X를 들어 "$ *"

에코 $ X 축
DONE

는 Y에 대한 "$ @"

반향 Y- $
DONE
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 @ 루트] 755 zhaopeng.sh chmod를
iZ2ze57xep3rm7w9t2l85cZ @ [루트 지역] # 1 2 3 ./zhaopeng.sh
1 2 3
1
2
3
, 네 개의 숫자, 전체 다음 네 개의 숫자가 * $을 가정 한 주기만을
4 사이클 @ $있을 것입니다.

미리 정의 된 변수 :
$ : 마지막으로 실행 된 명령의 상태로 돌아갑니다. 이 변수가 0 인 경우, 명령의 증거가 올바르게 실행 이러한 변수 (특정 번호, 명령에 의해 결정), 그 명령을 증명 올바르지 제로가 아닌 경우.
$$ : 현재 프로세스의 프로세스 ID (PID)
$! 백그라운드에서 실행중인 마지막 프로세스의 프로세스 ID (PID)

키보드 입력을 허용 : 읽기
읽기 [옵션] [변수 이름]
옵션 :
-p "메시지"입력을 기다리는 것은, 출력 메시지 동안 읽기
읽기 명령은 사용자 입력을 기다리고있다, 당신은 대기를 지정하려면이 옵션을 사용할 수 있습니다 : 초 -t 시간
문자 -n 번호 : 읽기 명령을 수행 할 문자의 지정된 번호를 받아
-s를 : 숨겨진 데이터 입력, 입력 기밀 정보에 적용
: 쓰기 스크립트 read.sh
# / 빈 / bash는!
"읽기 -p를하시기 바랍니다 당신의 이름 입력 : "30 -t 이름은
$ 이름 에코
실행 출력 : 제발 당신의 이름 입력 : 123
123
대기 30 초를 입력하지 않은 경우, 시스템이 자동으로 스크립트 명령을 종료합니다.
-s 비밀번호 : 읽기 "를 입력하여 passwd를 바랍니다"-p
에코 -e "\ N- 형"줄 바꿈
에코 $ 암호
실행 출력 : 입력 할 때 암호가 일반 텍스트로 표시하지 않습니다를.

-p 읽기 "입력 해주세요 섹스 [ M / F] :"-n 1 개 섹스 : 만 문자 입력. M 또는 N
에코 -e "\ N-"개행
에코 $ 성

파일 유형 판단
-b 파일 : 파일이 존재하는지 여부를 판정하고, 파일 여부 블록 장치 (블록 장치 파일에 해당하는)
-c 파일 : 파일이 존재하는지 여부를 결정하고, 파일이 문자 장치인지 (사실이 문자 파일입니다)
-d 파일 : 파일이 존재하는지 여부를 결정하고, 파일 여부 디렉토리 (디렉토리가 true) 일반적인
-e 파일 : 파일이 존재하는지 여부를 결정하는 일반적인 (실제 존재)
파일이 존재하는지 여부를 결정하고, 일반 파일인지 일반 (일반 파일은 사실이다) : -f 파일을
-L 파일 : 파일이 존재하는지 여부를 결정하고, 파일 여부를 심볼릭 링크입니다 (심볼릭 링크 파일은 사실이다)
-p 파일 : 변경된 파일이 있는지 여부를 결정하고, 파일 여부 파이프 (파이프 파일에 해당) 인
파일을 -s : 파일이 존재하는지 여부를 결정하고, 만약 비어 있지 않은 (null이 아닌 사실 )는
파일이 존재하는지 여부를 결정하고, 파일 여부 소켓 (소켓 파일이 참)입니다 : 파일을 -S
# [zhaopeng.sh -e] [iZ2ze57xep3rm7w9t2l85cZ 지역 @ 루트]
[지역 iZ2ze57xep3rm7w9t2l85cZ 루트 @] # 에코 $는 ?
0가, 사실
# [iZ2ze57xep3rm7w9t2l85cZ 지역 @ 루트] [-e zhaopeng.sh] || 에코 & & 에코 예 아니오

[루트 iZ2ze57xep3rm7w9t2l85cZ 지역 @] # [-e zhaop가 eng1.sh] && 에코 예 || 에코 NO
NO
[루트 iZ2ze57xep3rm7w9t2l85cZ 지역] # [-f zhaopeng.sh] || 에코 & & 에코 NO 예 @

# [-d zhaopeng.sh] && 에코 예 || 에코 NO [iZ2ze57xep3rm7w9t2l85cZ 지역 @ 루트]
NO
[루트 iZ2ze57xep3rm7w9t2l85cZ 지역 @] # [-d 등] || 에코 & & 에코 예 NO


: 파일 권한 판단
-r 파일 : 파일이 있는지 여부를 확인하고, 파일이 읽기 권한이있는 경우 (읽기 액세스는 사실이다)
-w 파일 : 파일이 있는지 여부를 확인하고, 파일이 쓰기 권한이있는 경우 (true로 쓰기 액세스가)
-x 파일 : 파일이 존재하고, 파일이 실행 권한이있는 경우 (집행 기관이 참) 여부를 확인하는
파일이 있는지 여부를 확인하고, 파일이 SUID 권한이있는 경우 (SUID 사실이 될 수있는 권한이) : -u 파일
-g 파일 : 판사 파일이 존재하고있는 경우 파일이 SGID 권한 (SGID 권한이 사실이)가있는 경우
-k 파일 : 파일이 존재하는지 여부를 결정하기 위해, 그리고 파일이 SBit 권한이있는 경우 (권한 SBit이 사실이)
# [iZ2ze57xep3rm7w9t2l85cZ 지역 @ 루트] zhaopeng.sh -w]
[루트 iZ2ze57xep3rm7w9t2l85cZ 지역] # 에코 $? @
0
[루트 iZ2ze57xep3rm7w9t2l85cZ 지역] # [@ -r zhaopeng.sh]
[루트 @ iZ2ze57xep3rm7w9t2l85c 현지 z 축] # 에코 $?
0
[루트 iZ2ze57xep3rm7w9t2l85cZ 지역 @] #
# [iZ2ze57xep3rm7w9t2l85cZ 지역 @ 루트]
# [iZ2ze57xep3rm7w9t2l85cZ 지역 @ 루트] [-x zhaopeng.sh]
[루트 @ iZ2ze57xep3rm7w9t2l85cZ 지역] # 에코 $?
0
[루트 iZ2ze57xep3rm7w9t2l85cZ 로컬 @] #
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @]
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @] [-u zhaopeng.sh]
[루트 @ iZ2ze57xep3rm7w9t2l85cZ 로컬] # $ 에코?
1
[루트 iZ2ze57xep3rm7w9t2l85cZ 로컬 @] #
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @]
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @] -g zhaopeng.sh]
[루트 @ iZ2ze57xep3rm7w9t2l85cZ 로컬] # $ 에코?
1
[루트 iZ2ze57xep3rm7w9t2l85cZ 로컬 @] #
[루트 @ iZ2ze57xep3rm7w9t2l85cZ 로컬] #
[루트 iZ2ze57xep3rm7w9t2l85cZ 지역 @] # [-k zhaopeng.sh]
# 에코 $ [루트 @ iZ2ze57xep3rm7w9t2l85cZ 지역]?
1
[루트 iZ2ze57xep3rm7w9t2l85cZ 로컬 @] #
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @]
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @]
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @]
# [iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @] [-w zhaopeng1.sh]
-bash : [: 누락` ]
[루트 iZ2ze57xep3rm7w9t2l85cZ 지역] # @ [-w zhaopeng1.sh]
[루트 @ iZ2ze57xep3rm7w9t2l85cZ 지역] # 에코 $?

두 파일을 비교
문헌 1 -nt은 파일 2 : 1 수정 된 파일인지 여부가 판정된다 신규 폴더 2 (참 새로운 경우)
문헌 2 -ot 파일 1 : 1 수정 결정 2 파일보다 파일인지 이전 (이전에 해당하는 경우)
파일 1 -ef 파일 2 일관성 lnode 제 1 파일과 파일을 2 개의 파일은 동일한 파일 여부로 인식 할 수 있는지 여부를 결정한다.
이 판단이 하드 링크를 결정하는 데 사용되는 것은 좋은 방법입니다

두 정수 사이의 비교 :
1 -eq 정수 2의 정수 : 정수 1, 2의 정수와 동일한지를 결정이 (실제 같음)
1/2 -ne 정수 정수 1이 정수 2가 동일하고 정수 (동일한 사실이 아니다) 아닌지 판단
정수 1/2 -gt 정수 1 정수 결정 정수보다 크다 (참보다 큼)
1 -lt 정수 2의 정수 : 1 이하의 정수 정수 결정보다가 (참 미만)
1/2 -ge 정수의 정수 : 1 정수 이상인 분석이고 정수 (보다 크거나 진정한 같음)
1/2 -le 정수 정수 (true 또는 이하)의 정수와 동일한 1 미만 결정된 정수보다는

문자열을 결정
-Z 문자열 : 문자열 비어 (비어 복귀 참인지를 판단 )
-n 문자열 : 문자열은 비어 있지 않은 (비 복귀에 해당 빈)인지 여부를 판정하는
캐릭터 스트링 == 1 2 : 1 문자열 및 문자열이 동일 (동일 복귀 참)인지 판정
! = 문자열의 문자열 (1) 2 : 문자열 1과 문자열 2가 동일 (동일하지 true를 반환)하지 여부를 결정
[루트 iZ2ze57xep3rm7w9t2l85cZ 지역 @] # = Fengjie 이름
[@ iZ2ze57xep3rm7w9t2l85cZ 루트 지역] # = NAME2 JJJ
[@ iZ2ze57xep3rm7w9t2l85cZ 루트 지역] #에게 [ "$ 이름 "=="$ NAME2 "] && 에코 예 NO 에코 ||
NO
# [iZ2ze57xep3rm7w9t2l85cZ 지역 @ 루트] [ "$ 이름"! = "$ NAME2"] && 예 에코 ||
반향 없음 예
여러 조건 :
2 -a 판정 결정하는 논리, 및 2에 해당하는 판정을 결정 최종 결과가 될 것이다 진정한
결정 분석 2 -o 1 또는 로직 및 2- 갖는 한 세트를 결정하는 결정, 결과적 사실 일 것이다
! 판정 : 비 로직은 원래 수식 부정 판단

상기 [] 테스트 명령이지만, 일반적] 사용되는

제어 명령 흐름 :
단일 지점 만약 조건
경우 [조건식] 다음
프로그램
Fi를가
나 :
IF는 [조건식]
당시
프로그램
Fi를
단일 지점 조건문 몇 가지 점에 유의
문 사용 Fi의 끝과 끝의 괄호는 일반적으로 서로 다른 언어를 사용하는 경우, 1
2, [조건식] 테스트 명령을 사용하여 결정 상기 브래킷과 조건식 사이의 공간이 있어야한다
","3 분할 한 후, 정규화 된 후 다시 그 다음으로, 프로그램 실행은, []로 배치 될 수있다. 그것은 또한 당신이하지 않는, 쓰기를 포장 할 수 있습니다 ";"는

하나의 예 : 루트 사용자의 로그인 여부를 결정
현재 사용자가 ENV되고있는 사용자 WHOAMI : 현재 사용자가 볼 수
ENV | GREP "USER는"사용자와의 방문을 데이터의 행.
컷 2 -f "="-d : 등호를 구분, 두 번째 문자의 차단한다. -d 필드 -f 획득 할 필요성을 나타내는 세퍼레이터 기본 탭 키를 정의하는 데 사용

더 testzhao.sh # [iZ2ze57xep3rm7w9t2l85cZ 지역 @ 루트]
# / 빈 / bash는!
# 현재 사용자, 현재 사용자의 차단, 테스트에 주어진 현재 사용자 이름 알아
테스트 = $ (ENV | GREP "사용자"| 컷 "-d =을 "-f 2)
# 값 얻어진 시험 문자열 일치 루트와 동등한 경우 루트의 출력시 yonghu dangqian
IF ["$ 테스트 "== 루트]
다음
루트 dangqian yonghu시"에코 "
인터넷
[iZ2ze57xep3rm7w9t2l85cZ 로컬 루트 @ ] # ./testzhao.sh
dangqian yonghu시 루트가

사용 분할 결정
#보기 시스템 지점 :
[iZ2ze57xep3rm7w9t2l85cZ 루트 @ ~] # DF -H
사용의 % 소용이 사용하는 파일 시스템 크기에 장착
(13)는 / dev / 4.8G 33G를 Vdal을 40g % /
devtmpfs 0 % 0 486M 486M / DEV
의 tmpfs 496m 496m 0 0 % / 디바이스 / SHM
의 tmpfs 496m 496m 484K. 1 % / RUN
의 tmpfs 496m 496m 0 0 % / SYS / FS / cgroup에
100M 0 0 1 억 %의의 tmpfs / RUN / 사용자 / 0
# 지사보기
-H DF 번호 [루트 @ iZ2ze57xep3rm7w9t2l85cZ ~] | 그렙 "Vdal는"
는 / dev / 4.8G 33G 13 Vdal을 40g % / 인
다섯 번째 열의 # 출력
[루트 @ ~ iZ2ze57xep3rm7w9t2l85cZ] -H DF 번호 | 그렙 "Vdal"| AWK '. {} 5 인쇄 $'
13 %의입니다
#는 동안 구분 %로 다섯 번째 열 출력, 촬영의 첫 번째 문자
[루트 @ iZ2ze57xep3rm7w9t2l85cZ ~] # 안양 -h | 그렙 "Vdal"| AWK '. {} 5 인쇄 $'|. 컷 "%"를 -d 1 -f
(13)는

# / 빈 / bash는!
% 분할로 # 사용 촬영 루트 지점
속도 = $ (DF -h | 그렙 "Vdal"| AWK '{5} 인쇄가 $. "|. 컷 -d"% "-f 1)
# 속도 적게 판정 값 (80)의 출력보다 genmulu. . . . 그렇지 않으면, 출력 busuanda.
IF [ "$ 속도"-le 80]
당시
에코 "genmulu 구제] 구오 DA"
다른
에코 "




다음
조건이 참, 프로그램 실행
다른 사람
의 조건이 충족되지 다른 프로그램 구현
Fi를

예 : 입력이 디렉토리인지 여부를 결정
#! / 빈 / bash는
읽기 -p "디렉토리 입력하십시오 :"-t 30 DIR을
[-d "$ DIR"] # 정보가 입력이 존재하는지 여부를 결정하고 파일이 디렉토리인지 경우
(가) 다음
"당신이 디렉토리 입력"에코
다른
"nononono"에코
파이를

아파치 서비스가 PS의 보조를 실행하는 결정 :보기 실행중인 모든 프로그램을
#! / 빈 / bash는
tomzhao = $ (PS -ef | 그렙 톰캣 | 그렙 -v 그렙)
IF [-n "$ tomzhao"]
그때 에코 "$ (DATE) 톰캣 실행 ......">> /usr/local/zhaopeng.log
다른
/ usr / 지방 / 톰캣 / 아파치-tomcat- 8.5.45 / 빈 / startup.sh &> / 디바이스 / 널
에코 "$ (DATE) ...... 톰캣이 재시작">> / usr / 지방 /의 zhaopengerr.로그
인터넷

여러 가지 조건의 경우
의 경우 [조건 판정 화학식 1]
그 후에
조건 판단 식 1에 해당하는 경우, 프로그램. 1 실행
ELIF를 [조건식 (2)]
그때
조건식 (2)가 설정되면, 프로그램 실행 2
... ... 생략 이상의 조건
다른
마침내 모든 조건이 성립하지 않는 경우, 및이 프로그램 실행
Fi를 사용

서열 1 내지 10 : 추가의 숫자 사이의 번호에 1 행의 모든 정수를 생성하는 데 사용
   : 실시 예 A를
   . # 10 SEQ 한
   결과 12,345,678,910

$ i를위한 # [iZ2ze57xep3rm7w9t2l85cZ 로컬 @ 루트 (서열 1 내지 10)
> 수행
> 에코 I = $ (서열 1 내지 10)
> 다
I = 1 2 3 4 5 6 7 8 9 10
제가 1 2 3 4 5 6 = 7 8 9 10
난 1 2 3 4 5 6 7 8 9 10 =
I 1 2 3 4 5 6 7 8 9 10 =
I 1 2 3 4 5 6 7 8 9 10 =
I 1 2 3 4 5 6 7 8 = 9 10
난 1 2 3 4 5 6 7 8 9 10 =
I 1 2 3 4 5 6 7 8 9 = 10
1 2 3 4 5 6 7 8 9 10 난 =
I 1 2 3 4 5 6 7 8 9 = 10

$ i를위한 # [iZ2ze57xep3rm7w9t2l85cZ 로컬 @ 루트 (서열 1 내지 10)
> 수행
> $ 에코 I
> 일
1
2
3
4
5
6
7
8
9
10

여러 가지 경우 조건문 :
case 문 그리고 만약의 elif ... 등 여러 가지가 조건문 다른 문, 다중 지점 조건문이 다른 그러나, 및 경우, case 문은 수 있습니다
콘디 셔닝 관계를 판단하고, 문 여부를 결정 할 수 있습니다 다양한 조건과의 관계.

경우에 변수 명 $
"값 1")
변수의 값이 상기 값 1과 동일한 경우, 프로그램 (1)의 실행
;
"값 2")
, 변수의 값이 2의 값을, 프로그램 (2)의 다음 실행 동일한 경우
;
... 생략 다른 지점. ..
*)
변수 값이없는 이상이면, 절차는 수행되지 않는다
;
ESAC의

예 : 예 또는 입력 된 입력은 예 또는 아니오 입력 오류 여부 판단
-p 읽을 "예 / 아니오를 선택하십시오 " -t (30)는 CHO
의 케이스 $ CHO
"예")
에코 "당신이 그래! 당신이 옳다 choosed 할!"
;
"NO")
에코 "는 NO를 choosed 할! 당신은 옳다!"
;;
*)
에코 "당신이 잘못! ! "
;
ESAC


: 루프 구현 여러 파일의 압축을 풉니 다
! 번호 / 빈 / bash는
해당 디렉토리에 #이 작동 할 수있는
CD / usr / 지방 /의 testdir에의
#보기 .tar.gz를 끝나는 압축 파일의 수를 기록 ll.log의
LS .tar.gz를 *> ll.log의
#보기 압축 파일 수와 순환에 할당 된 이름과 내가 ll.log
$ (CAT의 ll.log)의 난에 대한을

로그를 인쇄하지 않습니다 #이 압축 해제 작업 (배경을 수행 정보와
타르 - zxf I &>을 / dev / null $
DONE
# 임시 로그 파일을 삭제 ll.log
RM -rf /usr/local/testdir/ll.log

while 루프 :
루프는 또한 조건부 루프로 알려진 가변 사이클된다. 한 조건식이 설정으로,주기가 항상 유지하지 않는 조건 술어를 알고, 계속,주기는 중지됩니다. A의이주기는 같은 고정 없습니다.

그동안 [조건식]는
않는다
절차
수행

마법 CTRL 키 :
A + Ctrl 키 : 현재 입력으로 돌아 가기 / 라인의 시작하는 문자에 삽입됩니다, 화살표 키를 누르지 마십시오.
Ctrl 키 + E : 라인의 반대, 백 엔드에 조합.
CTRL + 1 : 빈 현재 단말기 인터페이스, 효과는 분명 명령과 동일하다.
CTRL 유를 + : 클리어 모든 입력의 현재의 입력 라인. 당신은 금주 모임의 BB를 입력이 키 조합을 누르면 가정, AA BB가 삭제되었습니다.
CTRL + Y는 : u는 문자열을 삭제 + 다시 Ctrl 키를 붙여 넣는 것입니다.
Ctrl + r에 : 명령 기록 검색입니다. Ctrl 키 + r을을 누른 후, 당신이 문자열을 검색합니다 입력하는 명령이 포함되어 있습니다.
CTRL + C : 현재 실행중인 프로그램을 종료 단말기.
CTRL + D는 : 전류 단자를 밀어.
CTRL + z를 : 단말기는 현재 백그라운드 동작 프로그램을 실행한다.

추천

출처www.cnblogs.com/zp123456/p/12161614.html