Fishをシェルとして使用している間は、次のようにして現在のディレクトリにある複数のCソースファイルに対する権限を設定しようとしています。
find . -type f -name "*.c" -exec chmod 644 {} +;
エラーが発生しました。
検索: '-exec'引数がありません
または
find . -type f -name "*.c" -exec chmod 644 {} \;
エラーが発生しました。
chmod: ''にアクセスできません:そのファイルまたはディレクトリはありません
何が問題なの?
ベストアンサー1
fish
仕事が起こる{}
引用が必要な数少ないシェルの1つ。
したがって、そのシェルを使用するには、次のものが必要です。
find . -type f -name '*.c' -exec chmod 644 '{}' +
引用符がない場合は空の{}
パラメータに展開されるため、コマンドは次のようになります。
find . -type f -name '*.c' -exec chmod 644 '' +
そして、find
行方不明について文句を言います{}
(またはそれに;
従うときだけ+
終端者として認識されます)。-exec
{}
他のほとんどのシェルには{}
。