非再帰性を厳密に保証しながら、dirのすべてのファイルを実行可能(非再帰)にします。

非再帰性を厳密に保証しながら、dirのすべてのファイルを実行可能(非再帰)にします。

質問のタイトルを奇妙に理解していますが、権限を非再帰的にchmod(パラメータなしで)-R変更するときに特に注意し、何らかの形で非再帰性を「強制」する必要がある状況があるかどうか疑問に思います。

ディレクトリがあるとしましょう~/x。ディレクトリにはいくつかのファイルがあり、サブディレクトリにもいくつかのファイルがあり、実行可能性に影響を与えずに~/x/yすべてのファイルを実行可能にすることにしました。xy

chmod +x ~/x/*

もちろんchmodこれはうまくいくはずですが、POSIXロジックがBashバージョン(将来のバージョンを含む)で変更される可能性はほとんどなく、上記のchmodはサブディレクトリにも影響しますが、どのような状況(または共通シェル)がある可能性があるのか​​疑問に思います。 )ファイルchmod +x ~/x/*も上書きされy、予期しない変更を防ぐためにコマンドをどのように改善できますか?

答え1

検索と制限を使用して、現在のディレクトリのファイルのみをインポートできます。

find ~/x -maxdepth 1 -type f -exec chmod +x {} +

関連情報