Linux 查找 -exec 权限被拒绝
Linux find -exec permission denied
我写了一个 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
执行。我总是会收到不同类型的权限被拒绝错误。
检查文件系统是否使用 noexec
标志挂载。
但您仍然可以通过 bash
:
运行 您的脚本
bash /path/to/mysort.sh
我写了一个 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
执行。我总是会收到不同类型的权限被拒绝错误。
检查文件系统是否使用 noexec
标志挂载。
但您仍然可以通过 bash
:
bash /path/to/mysort.sh