QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1416|回复: 6

求救!! 关于if 语句的问题

[复制链接]
发表于 2006-1-30 13:35:24 | 显示全部楼层 |阅读模式
请帮我解决以下问题:

脚本:
#!/bin/bash
AA=$(wc -l AA.txt | awk '{printf("%s\n",$1)}')
BB=$(tail --lines=1 BB.txt | cut --fields=3 --delimiter=,)
echo $AA 'and' $BB
if [ $AA -eq $BB ];
then
echo 'AA.txt match BB.txt'
else
echo 'AA.txt do not match BB.txt'
fi

运行结果:
67 and 67
dd: line 5: [: too many arguments
AA.txt do not match BB.txt

这种用法是否可行,如果不行有没有其他的方法可以替代???

谢谢!!!
发表于 2006-1-30 18:07:35 | 显示全部楼层
忘了 加“ ”
回复

使用道具 举报

 楼主| 发表于 2006-1-31 03:29:03 | 显示全部楼层
谢谢 answer!!

But I did try:

if [ "$AA" -eq "$BB" ];
if [ $AA = $BB ];
if [ $AA -eq $BB ];

Never Work.

But I did try :

if [ $AA -eq 67];
if [ 67 = $BB];

It is no problem.

Can you help agan?

Thanks a lot.
回复

使用道具 举报

发表于 2006-1-31 09:32:04 | 显示全部楼层
if [ "$AA" = "$BB" ]   try?
这个 用 -eq 还是 =  与 AA BB变量存储的数据类型有关吧
回复

使用道具 举报

 楼主| 发表于 2006-1-31 12:55:30 | 显示全部楼层
谢谢版主的帮助, 但是还是不行.

CODE:
#!/bin/bash
AA=$(wc -l AA.txt| awk '{printf("%s\n",$1)}')
BB=$(tail --lines=1 BB.txt | cut --fields=3 --delimiter=,)
echo '$AA = '$AA 'and $BB = '$BB

echo 'TRY $AA == $BB'
if [ $AA == $BB ];
then
echo 'AA.txt match BB.txt'
else
echo 'AA.txt do not match BB.txt'
fi

echo 'TRY $AA = $BB'
if [ $AA = $BB ];
then
echo 'AA.txt match BB.txt'
else
echo 'AA.txt do not match BB.txt'
fi

echo 'TRY "$AA" = "$BB"'
if [ "$AA" = "$BB" ];
then
echo 'AA.txt match BB.txt'
else
echo 'AA.txt do not match BB.txt'
fi

echo 'TRY "$AA" -eq "$BB"'
if [ "$AA" -eq "$BB" ];
then
echo 'AA.txt match BB.txt'
else
echo 'AA.txt do not match BB.txt'
fi

echo 'TRY $AA -eq $BB'
if [ $AA -eq $BB ];
then
echo 'AA.txt match BB.txt'
else
echo 'AA.txt do not match BB.txt'
fi

RESULT:
$AA = 67 and $BB = 67  
TRY $AA == $BB
ff: [: too many arguments
AA.txt do not match BB.txt
TRY $AA = $BB
ff: [: too many arguments
AA.txt do not match BB.txt
TRY "$AA" = "$BB"
AA.txt do not match BB.txt   :neutral:
TRY "$AA" -eq "$BB"
ff: [: integer expression expected after -eq
AA.txt do not match BB.txt
TRY $AA -eq $BB
ff: [: too many arguments
AA.txt do not match BB.txt

只有 "$AA" = "$BB" 没有错误显示, 但是结果仍然不对.

实在太痛苦了!!!
回复

使用道具 举报

发表于 2006-1-31 17:23:29 | 显示全部楼层
不会吧。。好像没有问题了  我试了看 没有错误 结果正确
回复

使用道具 举报

发表于 2006-2-4 09:26:25 | 显示全部楼层

Re: 求救!! 关于if 语句的问题

[quote:004a68463c="zhk001"]
if [ $AA -eq $BB ];[/quote]
test命令只用单括号[]的时候,右边的表达式是不允许使用变量替换的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 12:38 , Processed in 0.037460 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表