2016-11-29 15 views
0

ファイルを繰り返し、内容を順序付けして新しい順序をファイルに保存するシェルスクリプトを書きました。私は、スクリプトを書いて、特定のユーザーとして一台のマシンを、それを試してみたし、別のマシンにコピーされLinuxのfind -execパーミッションが拒否されました

find . -regex '<myregex>' -exec ./mysort.sh {} + 

:ソートする

#!/bin/sh 

for i in "[email protected]"; do 
    sort $i -k2 -o $i 
done 

ファイルがそうのようなfindコマンドで選択されていますroot権限を使用します。だから、ファイルはchown root:rootのように私が検索するすべてのファイルを持っています。

だから今ソートするファイルがmysort.shと同じフォルダに配置されていると私は私が

find: './mysort.sh': Permission denied

を取得-execで見つける実行しようとしたとき、私はにスクリプトを移動しようとしましたサブフォルダを開き、-exec ./folder/mysort.shでコマンドを実行するか、上位のフォルダに移動して-exec ../mysort.shで実行します。私は、パーミッション拒否エラーのさまざまなバリエーションを常に得ています。

+1

スクリプトを実行する権限を持っていますか? 'ls -l mysort.sh' – cnicutar

+0

はい、' -rwxrwxr-x'を持っています – jera

+1

このファイルシステムをマウントするときに 'noexec'フラグを使用しましたか? –

答えて

2

ファイルシステムがnoexecフラグでマウントされているかどうかを確認してください。

しかし、あなたはまだbash経由でスクリプトを実行することができます

bash /path/to/mysort.sh 
関連する問題