• ベストアンサー

chmod find パイプ 一緒にやりたいとき

こんにちは、はじめまして。下記のようにすると、正常に実行されるのですが、 chmod 766 `find ./* -type f -print` \; || ll ./* 下記のような、エラーメッセージでます。なぜなぜ?? chmod: cannot access `;': そのようなファイルやディレクトリはありません (やっていること: 自分の(カレント)ディレクトリの下のファイル(通常ファイル) 全部自分に実行権つけて、その結果を "|(パイプ)" で渡して、ls -l で全部表示 ) はじめての質問ですので、よろしくお願いねー??

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.2

chmod 766 `find ./* -type f -print` || ll ./* で問題ないと思いますが。

jikenjp
質問者

お礼

どうもありがとう御座います。 実は、この質問させていただいた前、一時間程、いろいろ試してみたのです。 標準出力にでる "コマンド" を "|" で渡すのは、自然に理解し易いですが、 (cat a.txt | grep abc とか) "chmod" のように、??? の場合、私、根本的な勘違いしているように、感じたり、他にも問題あったのです。(封鎖するまで、もう少し時間下さいまし。アリガトウポイント20点入れさせて戴きます。(まだ、一度もやったことないので、簡単にできるのでしたら??))

その他の回答 (2)

回答No.3

> chmod: cannot access `;': そのようなファイルやディレクトリはありません と出るのは、-print` \; の部分の \; が余計だからです。 それに || はパイプではありません。OR です。  A || B と書くと A がエラーになったときだけ B も実行します。お尋ねの場合だと、chmod がエラーになったとき、ll も実行されます。  そもそも chmod は標準出力に何も出力しないので、パイプで次のコマンドに渡すこと自体無意味です。 chmod 766 `find ./* -type f -print` && ll ./* がご希望のものでないかと推測します。

jikenjp
質問者

お礼

>oldroot2005 樣 ありがとうございます。完璧です。(自分が、情なくなりました。尊敬いたします。)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

chmod の引数に最後の \; も入ります.