0

我需要编写一个 shell 脚本来查找文件的模式,并且代码需要能够接受其他 Unix 命令作为可选参数。

例如:

mycode 644 ls -l 

应该对当前目录中模式为 644 的所有文件执行命令 ls -l。我只需要知道 shell 脚本的哪些方面帮助我在这里运行ls -l.

4

2 回答 2

1

我认为对你来说最好的方法是使用 find。

因此,例如您正在寻找的操作可以通过这个简单的命令执行:

find . -perm 0644 -exec ls -l {} \;

您的脚本可能如下所示:

#!/bin/sh
perm=$1
shift
find . -perm $perm $* {} \;
于 2012-11-06T19:21:02.640 回答
1

以下将做到这一点:

#!/bin/bash
mode=$1
shift
$*

它将第一个参数删除到变量中,并将其余参数作为单个 shell 命令执行。它不会尝试处理mode,但您表示您的问题与此无关。

于 2012-11-06T17:37:04.907 回答