2016-11-29 3 views
0

Я написал сценарий оболочки, итерацию через файлы и упорядочивание их содержимого, и сохранение нового заказа обратно в файл.Linux find -exec denied

#!/bin/sh 

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

Файлы для сортировки выбираются с помощью команды find так:

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

Я написал сценарий и попробовал одну машину в качестве конкретного пользователя, а затем скопировал его на другую машину используя привилегии root. Итак, теперь файлы имеют chown root:root, а также все файлы, которые я нахожу для поиска.

Так что теперь файлы должны быть отсортированы расположены в той же папке, что и mysort.sh и когда я пытаюсь выполнить находку с -exec я получить

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

Я попытался движущуюся сценарий вложенную папку и выполнить команду с -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