我编写了一个shell脚本,遍历文件并订购其内容并将新订单保存回文件。
#!/bin/sh
for i in "$@"; 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 denied错误的不同变体。
答案 0 :(得分:2)
检查文件系统是否装有noexec
标志。
但您仍然可以通过bash
运行脚本:
bash /path/to/mysort.sh