단순히 `| cat -`을 사용하면 파일 설명자 오류가 발생합니다.

단순히 `| cat -`을 사용하면 파일 설명자 오류가 발생합니다.

이것은 작동하는 diff 명령입니다:

$ diff -u <(echo 'foo:bar:baz' | tr : "\n") <(echo 'foo:baz' | tr : "\n")
--- /dev/fd/11  2023-08-30 13:11:50
+++ /dev/fd/13  2023-08-30 13:11:50
@@ -1,3 +1,2 @@
 foo
-bar
 baz

에서 파이프라인을 추가하면 diff모든 명령이 다음 오류와 함께 실패합니다.

$ diff -u <(echo 'foo:bar:baz' | tr : "\n") <(echo 'foo:baz' | tr : "\n") | command cat -
diff: /dev/fd/11: Bad file descriptor

command cat -대신 cat -쉘 플러그인이 "마법"을 수행하는 곳에 사용하세요 .

누가 설명할 수 있나요이 문제를 해결하려면 어떻게 해야 합니까?

답변1

나는 이것이 diff색상 차이를 보장하기 위해 로컬에서 정의한 함수라는 것을 알았습니다. 이것이 왜 문제를 일으키는지 아직도 설명할 수 없습니다. command diff그러나 내 해결 방법은 간단히 diff.

관련 정보