実行可能ファイルを見つけようとしています。移植性を高めるためにbourne シェルを使用しようとしています/bin/sh
。以下のスクリプトは、文字列の先頭にあるecho
すべてのものです。find:
#!/bin/sh
DIRS=`find / -perm -4000`
for DIR in "$DIRS"
do
case "$DIR" in
find:*);;
esac
done
QUESTION)find:*)
コマンドが与えられていないのにエコーがかかるのはなぜですか?
caseステートメントに句を追加する*) echo "$DIR";;
と、現在のユーザーが実行できるファイルがエコーされます。これは私が本当に望んでいるすべてですが、起こっていません(/bin/sh
実際にはスクリプトを作成していませんが、これは私を困惑させました)
ええsed
、、、非常awk
にcut
役立ちますが、これらのコマンドのいくつかはおそらく利用できないでしょう (なぜ利用できないのでしょうか? なぜなら利用できないかもしれないからです!) ので、ボーン シェル バージョンの方が移植性が高いと思いました。部分文字列の一致にもっと良い方法があるかもしれませんが/bin/sh
、アイデアはありますか?