ファイルのモードを見つけるためのシェルスクリプトを作成する必要があり、コードはオプションの引数として他のUnixコマンドを受け入れることができる必要があります。
例えば:
mycode 644 ls -l
モード644の現在のディレクトリ内のすべてのファイルに対してコマンドls-lを実行する必要があります。シェルスクリプトのどの側面がここでを実行するのに役立つかを知る必要があるだけですls -l
。
以下はそれを行います:
#!/bin/bash
mode=$1
shift
$*
最初のパラメーターを変数に削除し、残りを単一のシェルコマンドとして実行します。それは処理しようとはしませんmode
が、あなたはあなたの質問がそれについてではなかったことを示しました。
私はあなたにとって最善はfindを使うことだと思います。
したがって、たとえば、探している操作は、次の単純なコマンドで実行できます。
find . -perm 0644 -exec ls -l {} \;
スクリプトは次のようになります。
#!/bin/sh
perm=$1
shift
find . -perm $perm $* {} \;