리눅스의 쉘

명령 쉘을 실행하고 반환 값을 반환 할 때 반환 값은에서? 쉘 변수 $에 저장됩니다. ?시 $ == 0;? 성공을 나타내는 == $ 1 나타내는 실행에 실패 시간.
때때로, 다음 명령은 이전 명령이 성공적으로 실행 여부에 따라 달라집니다. 예를 들면 : 명령의 성공적인 실행 후에 다른 명령을 재실행 또는 다른 명령은 명령 등의 실패 이후에 실행된다. && ||와, 제어 명령의 기능을 구현하기 위해 쉘 뒤나 || 명령의 리턴 값 앞에 && 따른 제어 명령을 실행하기 위해 제공 쉘.
&& (제어 명령)
구문은 다음과 같다 :
다음 Command1 && Command2를 [Command3을 && ...]
1 개 && 연결 명령을 사용하여 논리 기능을 실현.
2 && 명령 오른쪽이 실행됩니다 && (명령이 0 $의 값을? == 반환)에만 true를 돌려 명령에 남아.
3만큼 명령이 거짓을 반환이 있기 때문에, 후자의 명령이 실행되지 않는다 (명령? $ == 1의 값을 리턴한다).
예 1
우분투 @ malihou : ~ $은 cp ~ / 데스크탑 / 1.TXT ~ / 1.TXT & & RM ~ / 데스크탑 / 1.TXT & & 에코 "성공"
명령 예제 1 ~ / 데스크탑 디렉토리에서 한 첫 번째 사본. 디렉토리 ~에 txt 파일은, 성공적인 구현 한 후, 사용 RM은 소스 파일을 삭제, 삭제는 시스템 출력에 성공합니다.
|| (제어 명령)
다음과 같은 구문은 다음
Command1을 Command2를 || [Command3을 || ...]
사용 || 명령 사이에 접속 또는 논리 기능을 구현.
2 ||는 || 명령의 권리가 실행됩니다 (명령은 $의 가치인가? == 1을 반환)에만 false를 반환 명령에 남아. 이 논리 및 C 언어 구문 또는 기능적으로 동일, 즉, 단락 또는 논리 연산.
긴 true로 3 개 반환 명령이 존재하는 한, 후자의 명령이 실행되지 않습니다 (명령은 $의 가치인가? == 0을 반환).
예 2
malihou 우분투 @ : ~ $ ~ RM / 데스크탑 / 1.TXT || 에코 "실패"
예 2에서, ~ / 데스크탑 디렉토리에는 파일 1.TXT, 출력 메시지에서 존재하지 않는 경우.
예 3
malihou 우분투 @ : ~ $ ~ RM / 데스크탑 / 1.TXT & & 에코 "성공"|| "실패"에코
예 3에서, 만약 바탕 화면 출력 성공 메시지에서 파일 1.TXT ~ / 디렉토리; 그렇지 않으면, 출력 메시지가 실패한다.

쉘 () (및 {})의 두 가지 방법을 제공하며, 몇 가지 명령 협력 달성 않고 독립적으로 수행. 이 방법은 명령을 결정 마지막 명령의 최종 리턴 값의 값을 반환은 단지 서로 개별 실행하는 복수의 명령, 제어 명령을 수행 할 필요가 없다.
() (명령의 조합)
다음과 같은 구문은 다음
(다음 Command1 단계; Command2를 [; Command3을가 ...])
명령과 같은 라인에 필요한 복수의 명령은 명령 분리기를 사용하는 경우에는 1이, 전용 물리 회선을 필요 (. )으로 구분. 실행 개별 별도의 복수 개의 명령을 실행하는 취지 동등한 효과.
도 2의 () 전체로 전류 쉘 실행 명령 복수이다. 사용하여, 그 주 () 동봉 된 명령은 현재 작업 디렉토리를 전환 전면에 실행되지 않습니다, 즉 명령의 조합 명령에도 불구하고 현재 작업 디렉토리, 디렉토리 변경 명령을 실행 할 수 있습니다.
3 종종 병용 명령 실행 제어 명령의 조합.
예 4
malihou 우분투 @ : ~ $ ~ RM / 데스크탑 / 1.TXT || (CD ~ / 바탕 화면 /; -a LS; "실패"에코)
예 4에서, 문서의 디렉토리 ~ / 데스크탑 경우 부재. TXT가 다음 명령의 조합을 실행한다.


참고 참고 URL : HTTP : //blog.csdn.net/xyls12345/article/details/39054555

추천

출처www.cnblogs.com/lipengsheng-javaweb/p/11441715.html