0

私は、同じ権限を持つファイルを見つけて、コマンドラインからいくつかのオプションのコマンドをそれらに適用するスクリプトに取り組んでいます。何時間も経って、私はこのコードを思いついた

コマンドラインは次のようになります。

codename 644 ls -l

スクリプトは次のコードです。

#!/bin/sh
permission=$1
shift
find . -maxdepth 1 -perm $permission exec $* {} \;

execタスクは、最初のコマンド(ここでは644)をシフトした後、結果をコマンドラインにリダイレクトしていると思います。私が間違っている場合は私を訂正してください。私の問題は、コマンドラインで検索行を使用すると完全に機能しますが、スクリプトで使用した後、エラーが発生することです

./codename 664 ls -l find:パスは式の前に置く必要があります:exec使用法:find [-H] [-L] [-P] [-Olevel] [-D help | tree | search | stat | rate | opt | exec ][パス...][式]

4

1 に答える 1

1

$あなたは許可との-ために忘れたexecので

find . -maxdepth 1 -perm $permission -exec $* {} \;
于 2012-11-07T02:35:18.120 に答える