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 回答