VimChina 发表于 2005-5-9 11:37:54

再问一个问题吧,我要在一个if里面判断

if [ "$TRAHIS" = "$TRAHISbak" ] AND [ "$HISBAL" = "$HISBALbak" ]; then
echo ok
fi
done


这个不是用AND吧?
而是-a还是什么?忘记了 :oops:

zhy2111314 发表于 2005-5-9 11:41:17

大多数时候,虽然可以不使用括起字符串和字符串变量的双引号,但这并不是好主意。为什么呢?因为如果环境变量中恰巧有一个空格或制表键,bash 将无法分辨,从而无法正常工作。这里有一个错误的比较示例:


if [ $myvar = "foo bar oni" ]
then
   echo "yes"
fi

在上例中,如果 myvar 等于 "foo",则代码将按预想工作,不进行打印。但是,如果 myvar 等于 "foo bar oni",则代码将因以下错误失败:


[: too many arguments

在这种情况下,"$myvar"(等于 "foo bar oni")中的空格迷惑了 bash。bash 扩展 "$myvar" 之后,代码如下:


[ foo bar oni = "foo bar oni" ]

因为环境变量没放在双引号中,所以 bash 认为方括号中的自变量过多。可以用双引号将字符串自变量括起来消除该问题。请记住,如果养成将所有字符串自变量用双引号括起的习惯,将除去很多类似的编程错误。"foo bar oni" 比较 应该写成:


if [ "$myvar" = "foo bar oni" ]
then
   echo "yes"
fi

erppro 发表于 2005-5-9 13:19:55

没有编译器,怎么用c嘛 :neutral:
什么系统会没有c编译器?python也没有?

atfa 发表于 2005-5-9 14:32:11

zhy2111314, 我现在遇到的问题是如何判断两个同时满足的条件,也就是C里面的&&怎样在shell里面实现?给点建议啦

啊,这个问题作废,我已经用两个if语句搞定。

VimChina 发表于 2005-5-9 15:04:00

zhy2111314, 我现在遇到的问题是如何判断两个同时满足的条件,也就是C里面的&&怎样在shell里面实现?给点建议啦

if [ "$TRAHIS" = "$TRAHISbak" -a "$HISBAL" = "$HISBALbak" ]; then
echo ok
fi
done
记不太清了,你试试吧

VimChina 发表于 2005-5-9 15:19:13


#!/usr/local/bin/bash

a=1
b=2
c=1
d=2

if [ "$a" = "$c" -a "$b" = "$d" ]
then
        echo successful
else
        echo faile
fi

FreeBSD-4.11-release && Bash-2.05b下测试通过

zhy2111314 发表于 2005-5-9 15:26:24

上面的这种方法可以吗?

VimChina 发表于 2005-5-9 15:55:17

我测试过了才敢帖上来的,测试环境:
FreeBSD-4.11-release && Bash-2.05b

zhy2111314 发表于 2005-5-9 16:25:31

呵呵,兄弟误解了,我问的是atfa :wink:

atfa 发表于 2005-5-9 16:32:42

zhy2111314,两个if语句写在一起当然可以实现这个要求……我觉得只要有一点编程基础都不难理解吧?

谢谢 VimChina, 我马上试一下

zhy2111314 发表于 2005-5-9 16:51:27

zhy2111314,两个if语句写在一起当然可以实现这个要求……我觉得只要有一点编程基础都不难理解吧?

谢谢 VimChina, 我马上试一下
我晕了,怪我没说清楚,兄弟又误解了,我是说VimChina说的方法在你那行吗? :roll::roll::roll:

MichaelBibby 发表于 2005-5-9 16:57:07

zhy2111314,:mrgreen:

zhy2111314 发表于 2005-5-9 17:46:40

zhy2111314,:mrgreen:
难得一见啊 :D
常回来看看啊 :wink:

atfa 发表于 2005-5-9 17:46:45

zhy2111314, vimchina的方法是可以的,这些是基本的unix规范,linux和aix应该都是完全一样的。

MichaelBibby 发表于 2005-5-9 17:50:27

zhy2111314,:mrgreen:
难得一见啊 :D
常回来看看啊 :wink:俺就是VimChina :mrgreen:
页: 1 [2] 3
查看完整版本: 急寻脚本案例