ディレクトリaのすべてのファイルの総単語数を出力しようとしていますが、.shスクリプトを実行すると、find "$1"...
に "find:command not found"ライン。なぜこれが起こっているのですか?これをどうやって解決しますか?ファンクションメソッドのfindコマンドが見つかりません
function count_files() {
find "$1" -type f -exec cat {} \+ | wc -w #outputs error here
}
density_a="$(count_files "a")"
スクリプトは人々が自分自身の変数名に小文字を使用することになっている理由である変数 'PATH'(上書きした後、通常、これは起こる - シェルに意味の変数をまたはOSがすべて大文字であるため、その名前空間を使用しないと競合が回避されます)。いずれにしても、問題のコードがスクリプト内の唯一のものであるときに問題を再現することをテストします。そのままではこれには影響がないので、http:// pubsの関連するPOSIX仕様を参照してください。上記の命名規則は、http://stackoverflow.com/help/mcve –
に準拠していません。 opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html、段落4を参照してください。 –
「function」キーワードは利点がありません。それを離れることを検討してください。 'count_files(){'、前に 'function'はありません。また、別の型として、 '+'をエスケープするためにバックスラッシュを使う必要はありません。他の型の 'find -exec'呼び出しで使われる'; 'とは違って、文字は引用符で囲まれていないと正規表現や構文ではありません。 –