我正在编写一个脚本来查找具有相同权限的文件,然后将命令行中的一些可选命令应用于它们。几个小时后,我想出了这段代码
命令行将是这样的:
codename 644 ls -l
脚本是以下代码:
#!/bin/sh
permission=$1
shift
find . -maxdepth 1 -perm $permission exec $* {} \;
我相信 exec 任务在移动第一个命令(此处为 644)后将结果重定向到命令行。如果我错了,请纠正我。我的问题是,当我在命令行中使用 find 行时,它工作得很好,但是在脚本中使用它之后,它给了我一个错误
./codename 664 ls -l find:路径必须在表达式之前:exec 用法:find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec ] [路径...] [表达式]