출력 리디렉션의 역방향 구문이 입력 리디렉션으로 작동하지 않는 이유는 무엇입니까?

출력 리디렉션의 역방향 구문이 입력 리디렉션으로 작동하지 않는 이유는 무엇입니까?

명령 1: cat file1 > file2(성공)
명령 2: file2 < cat file1(cat: 해당 파일이나 디렉터리 없음)

출력 및 입력 리디렉션에 대한 일반 구문을 알고 싶습니다.
파일이나 스트림에 대해 리디렉션이 발생할 수 있는 경우 명령 2가 실패하는 이유는 무엇입니까?

답변1

리디렉션 위치

cat file1 >file2

출력 리디렉션이 지정되고 <입력 리디렉션이 지정됩니다.

file2 < cat file1

동일합니까?

file2 file1 <cat

(리디렉션이 실제로 발생하는 위치는 중요하지 않습니다. 자체 구문 분석 단계에서 쉘에 의해 처리된 다음 실제 명령에서 제거되기 때문입니다.) 이는 " 인수 file2로 실행 file1하고 파일에서 표준 입력을 리디렉션 cat"을 의미합니다.

cat오류는 현재 디렉터리에서 파일로 열려고 하는 셸에서 발생합니다 . 쉘이 명령을 실행하기 전에 오류가 발생합니다 file2.

관련된:이 명령은 어떻게 적법합니까? "> 파일 1 < 파일 2 고양이"

관련 정보