0

bash では、変数の値をよくチェックしていますが、このようにしても問題ありませんか? より良い方法はありますか?

例:

    if [ "`echo ${file} | grep -vE '(Trash|home)'`" ] ;then

変数ファイルに Trash または home という単語が含まれていないことを確認しています。そうでない場合は、何かを行います。ポイントは、echo と grep を使用していることです。おそらく無駄だと思います。

もう一つの例:

    if [ "`less ${TEMPQUERY} | grep 'http'`" ] ;then

これは、文字列httpのファイルをチェックしています。ファイル内にある場合は、何かをしてください。

私は、他の人が何をしているのか、そして私がそのような方法で物事をコーディングしてはならない強い理由があるのか​​ どうか疑問に思っているだけだと思います. とにかく、お時間をいただきありがとうございます。

4

1 に答える 1

5
$ file="My home"
$ [[ $file =~ Trash|home ]] ; echo $?
0
$ file="root"
$ [[ $file =~ Trash|home ]] ; echo $?
1

$ cat input.txt
http://...
$ grep -v -q http input.txt ; echo $?
1
于 2013-01-11T19:51:25.710 に答える