[bash] 쉘 명령에서 "&&"의 목적은 무엇입니까?


3 Answers

게다가, 당신은 또한 || 이것은 논리적 인 또는 또는 또한 ; 이것은 전에 명령에 무슨 일이 생겼는지 상관하지 않는 구분 기호입니다.

$ false || echo "Oops, fail"
Oops fail

$ true || echo "Will not be printed"
$  

$ true && echo "Things went well"
Things went well

$ false ; echo "This will always run"
This will always run

이에 대한 자세한 내용은 여기 Bash 매뉴얼 의 명령 목록을 참조하십시오.

Question

내가 아는 한, 명령을 사용하면 백그라운드에서 실행하는 것입니다.

사용 예 : tar -czf file.tar.gz dirname &

그러나 && 어떨까요? (이 예를보십시오 : https://serverfault.com/questions/215179/centos-100-disk-full-how-to-remove-log-files-history-etc#answer-215188 )




다음 예제를 참조하십시오.

mkdir test && echo "Something" > test/file

쉘은 디렉토리 test 를 만들려고 시도하고 성공한 경우에만 내부에 파일 만들기를 시도합니다.

따라서 하나의 단계가 실패하면 일련의 단계가 중단 될 수 있습니다.




'&&'의 일반적인 사용법은 autotools로 소프트웨어를 컴파일하는 것입니다. 예 :

./configure --prefix=/usr && make && sudo make install

기본적으로 configure가 성공하면 make가 실행되어 컴파일되고, 성공하면 make가 root로 실행되어 프로그램을 설치합니다. 나는 대부분이 일을 할 것이라고 확신 할 때 이것을 사용하고, 를 보면서 진도를 모니터하지 않는 것과 같은 다른 중요한 일을 할 수있게 해준다.

가끔은 정말 흥분하고 ...

tar xf package.tar.gz && ( cd package; ./configure && make && sudo make install ) && rm package -rf

예를 들어 스크래치 박스에서 리눅스를 만들 때 나는 이것을한다.




첫 번째 명령문이 성공적으로 끝나면 두 번째 명령문을 실행합니다. if 문처럼 :

 if (1 == 1 && 2 == 2)
  echo "test;"

첫 번째는 1 == 1이면 시도하고, 참이면 2 == 2인지 확인합니다.



Related