grep searchforthistext なしで ls -d -R $PWD/* | が機能し、そのコンポーネントの組み合わせが機能するのはなぜですか。

grep searchforthistext なしで ls -d -R $PWD/* | が機能し、そのコンポーネントの組み合わせが機能するのはなぜですか。

私のコンピュータでディレクトリまたはファイルを見つけて絶対パスを提供する/ためにusingを試みました(単に使用すると、ディレクトリとファイルの名前だけがリストされ、場所はリストされていないためです)。何らかの理由でそれは何もしません。それは私にエラーメッセージを吐き出さず、何も見つからず、私の入力を待っている次の行に行きます。ls -d -R $PWD/* | grep searchforthistextsearchforthistextls -R | grep searchforthistext

テストとして(テスト用に表示されるファイルの数を適切な数に制限できるように他のディレクトリで)ls -d -R $PWD/*grepなしで実行しました。それからls -d $PWD/* | grep searchforthistextまた走って成功しました。テストをやり直しましたが、ls -R | grep searchforthistextもう一度動作しました。

最後のテストで名前に.が含まれているファイルをls -d -R $PWD/* | grep searchforthistext見つけてsearchforthistext絶対パスを表示しようとしましたが、再帰的には機能しません(したがって効果的に実行されるため、同じことをしますls -d $PWD/* | grep searchforthistext)。

全体的に、lsどちらか二つをうまく使うことができますが(だから二つが一緒に働かないのは問題にならないようです)、一緒に試みると再帰は失敗します。理由がわからない。-d $PWD/*-R| grep searchforthistext

関連情報