我需要一些关于 IF 和 && 语句的帮助。它不起作用,我尝试的所有方法也不起作用。也许有人能看到这个问题:
if [[ $thisvariable="yes" && grep 'this string' ./"$thisfile".txt ]]; then
这根本行不通。有人发现问题了吗?
答案1
尝试这个:
if [[ "$thisvariable" = "yes" ]] && grep -q 'this string' ./"${thisfile}".txt; then
答案2
我现在才看到最后一篇文章,所以我没有尝试。我终于用这个让它工作了:
if [ $thisvariable == yes ] && [ "`grep 'this string' ./"thisfile"`" ]; then
答案3
构造[
不能采用多个条件。您尝试的内容可以用多种方式编写:
if [ "$thisvariable" = "yes" ] && grep 'this string' ./"thisfile" > /dev/null
then
echo yes;
fi
或者更简单来说
[ "$thisvariable" = "yes" ] && grep 'this string' ./"thisfile" > /dev/null && echo yes
答案4
从:http://tldp.org/LDP/abs/html/comparison-ops.html#SCOMPARISON1
if [ "$a" = "$b" ]
小心!请注意“=”周围的空格。
if [ "$a"="$b" ] is not equivalent to the above.