LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: eddie_we

if循环报错,No such file or directory。

[复制链接]
发表于 2007-5-15 20:48:58 | 显示全部楼层
取值部分有问题 估计是加上什么不可显示字符了
-x跟踪一下看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-15 21:34:09 | 显示全部楼层
[root@ telnet]# date
Tue May 15 21:40:43 CST 2007
[root@telnet]# ./mytest.sh
+ date
+ rm -rf /home/telnet/num1
+ cp /home/telnet/num2 /home/telnet/num1
++ cat /home/telnet/num1
++ grep Total
++ head -1
++ awk '{print $5}'
+ num1=$'10632\r'
+ echo $'10632\r'
10632
+ /home/telnet/telnet
++ cat /home/telnet/num2
++ grep Total
++ awk '{print $5}'
++ head -1
+ num2=$'11328\r'
+ echo $'11328\r'
11328
+ '[' $'10632\r' -eq $'11328\r' ']'
: integer expression expected0632
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-15 21:42:15 | 显示全部楼层
[root@ telnet]# date
Tue May 15 21:40:43 CST 2007
[root@telnet]# ./mytest.sh
+ date
+ rm -rf /home/telnet/num1
+ cp /home/telnet/num2 /home/telnet/num1
++ cat /home/telnet/num1
++ grep Total
++ head -1
++ awk '{print $5}'
+ num1=$'10632\r'
+ echo $'10632\r'
10632
+ /home/telnet/telnet
++ cat /home/telnet/num2
++ grep Total
++ awk '{print $5}'
++ head -1
+ num2=$'11328\r'
+ echo $'11328\r'
11328
+ '[' $'10632\r' -eq $'11328\r' ']'
: integer expression expected0632
回复 支持 反对

使用道具 举报

发表于 2007-5-17 00:28:38 | 显示全部楼层
awk 改成这样awk 'BEGIN{RS=RS"|[\r\n]+"} {print $5}'
回复 支持 反对

使用道具 举报

发表于 2007-5-17 02:31:36 | 显示全部楼层
num1=`cat num1 |grep Total |head -1|awk '{print $5}'`;
改成
num1=$(cat num1 |grep Total |head -1|awk '{print $5}')

试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-17 08:48:25 | 显示全部楼层
Post by lastart
awk 改成这样awk 'BEGIN{RS=RS"|[\r\n]+"} {print $5}'


多谢楼上两位,似乎这个是可行的。晨想那个还是会报整数错误。
回复 支持 反对

使用道具 举报

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

本版积分规则

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