Bash 같은 줄에 AND와 OR을 사용할 수 있나요?

Bash 같은 줄에 AND와 OR을 사용할 수 있나요?

나는 코드를 컴파일할 때 일반적으로 다음을 수행합니다.

make remake 2> error.txt || less error.txt

그런 다음 less아무 것도 나타나지 않으면 코드를 디렉터리에 복사합니다 exe.

컴파일이 성공하면 복사 명령이 자동으로 실행되기를 바랍니다. 예를 들어 다음과 같이 할 수 있습니다.

make remake 2> error.txt && cp ./bin/out.out ../exe/out.out

그러나 컴파일이 실패하면 오류가 적게 나타나는 이 유용한 기능을 잃게 됩니다.

두 가지를 결합하는 것이 가능합니까?

확실히

make remake 2> errors.txt || less errors.txt && cp ./bin/out.out ../exe/out.out

컴파일 명령이 실패할 경우 &&종료할 때마다 cp 명령이 실행되기 때문에 작동하지 않습니다(0을 반환한다고 가정).less

1개의 명령줄로 내가 하고 싶은 일을 이룰 수 있나요?

답변1

당신을 위한:

make remake 2> errors.txt && cp ./bin/out.out ../exe/out.out || less errors.txt

관련 정보