これは動作する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
。