2016-11-29 156 views
0

我寫了一個shell腳本文件,通過迭代和訂購他們的內容,並保存新訂單迴文件。進行排序Linux的發現-exec權限被拒絕

#!/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執行它。我總是會獲得Permission拒絕錯誤的不同變體。

+1

是否腳本有權執行? 'ls -l命令mysort.sh' – cnicutar

+0

是,它已經'-rwxrwxr-x' – jera

+1

你有沒有安裝這個文件系統時使用'noexec'標誌? –

回答

2

檢查文件系統安裝在具有noexec標誌。

但你仍然可以通過bash運行腳本:

bash /path/to/mysort.sh