免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1437 | 回复: 6
打印 上一主题 下一主题

新手solaris 8下if的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-09 22:49 |只看该作者 |倒序浏览
我有一段代码如下:

  1. #!/usr/bin/sh
  2. INFORMIXDIR=/dbroot
  3. PATH=${PATH}:${INFORMIXDIR}/bin
  4. #ONCONFIG=onconfig.dbsrv1
  5. INFORMIXSERVER=dbsrv1
  6. LD_LIBRARY_PATH=/dbroot/lib:/dbroot/lib/esql

  7. export  INFORMIXDIR PATH ONCONFIG INFORMIXSERVER LD_LIBRARY_PATH

  8. cd /work02/bhl/shelldata

  9. l=`/work02/syn/getdate -1`
  10. echo $l

  11. sdate=`date +%Y"-"%m"-"%d" "%H":"%M":"%S`

  12. dbaccess xworld bb_jyfx.sql
  13. dbaccess xworld bb_jyfx_chk.sql

  14. edate=`date +%Y"-"%m"-"%d" "%H":"%M":"%S`

  15. lie65=`wc request|awk '{printf $1}'`
  16. zj65=`wc request|awk '{printf $3}'`

  17. lie66=`wc device_req|awk '{printf $1}'`
  18. zj66=`wc device_req|awk '{printf $3}'`

  19. checkrequest="check_A05065"$l".AVL"
  20. checkdevice="check_A05066"$l".AVL"

  21. count=`wc request|awk '{print $1}'`
  22. checkcount=`awk -F\. '{print $1}' request_chk`

  23. if [ $count = $checkcount ]
  24. then
  25.                 n1="A05065"$l"000001.TMP1"
  26.         n111="A05065"$l"000001.TMP"
  27.         n2="A05065"$l"000001.AVL"
  28.         n3="A_CHK_05065"$l".txt"
  29.         mv ./request $n1
  30.         mv ./request_chk $n3
  31.         awk -F\| '{if (NF==13) print $0}' $n1 > $n111
  32.         rm $n1
  33.        
  34.         echo $sdate >> $checkrequest
  35.         echo $edate >> $checkrequest
  36.         echo "|" >> $checkrequest
  37.         echo $lie65 >> $checkrequest
  38.         echo "13" >> $checkrequest
  39.         echo $zj65 >> $checkrequest
  40.        
  41.         ftp -n xxx.xxx.xxx.xxx<< END
  42.         user xxxx xxxx
  43.         lcd /work02/bhl/shelldata
  44.         bin
  45.         prompt
  46.         put $n111
  47.         rename $n111 $n2
  48.         put $n3
  49.         put $checkrequest
  50.         bye
  51.         END
  52. else
  53.                 echo "false"
  54. fi
复制代码


执行到if后报错:`文件结束' 非期望的。我估计应该是语法错了
但是不知道错在那里

btw:我在if后面加了;号也不行,同样的错
[/code]

论坛徽章:
0
2 [报告]
发表于 2004-08-09 23:33 |只看该作者

新手solaris 8下if的问题

==

论坛徽章:
0
3 [报告]
发表于 2004-08-09 23:40 |只看该作者

新手solaris 8下if的问题

==也报错     

论坛徽章:
0
4 [报告]
发表于 2004-08-09 23:48 |只看该作者

新手solaris 8下if的问题

[quote]原帖由 "rocknio"]==也报错     [/quote 发表:

:shock
把==改成
-eq
注意if内各项之间要保留一个空格!

论坛徽章:
0
5 [报告]
发表于 2004-08-10 12:38 |只看该作者

新手solaris 8下if的问题

我写了一个很简单得shell用if,if里用=或者 -eq都能正确执行

  1. #!/usr/bin/sh
  2. INFORMIXDIR=/dbroot
  3. PATH=${PATH}:${INFORMIXDIR}/bin
  4. #ONCONFIG=onconfig.dbsrv1
  5. INFORMIXSERVER=dbsrv1
  6. LD_LIBRARY_PATH=/dbroot/lib:/dbroot/lib/esql

  7. export  INFORMIXDIR PATH ONCONFIG INFORMIXSERVER LD_LIBRARY_PATH

  8. cd /usr/telapp1/ftpdata

  9. n=1
  10. b=1
  11. if [ $n = $b ]
  12. then
  13.         echo "123"
  14.         echo "890"
  15. else
  16.         echo "dfd"
  17.         echo "df"
  18. fi
复制代码


不清楚为什么会报错了,环境变量一样啊

论坛徽章:
0
6 [报告]
发表于 2004-08-10 12:47 |只看该作者

新手solaris 8下if的问题

没有使用过solaris,用echo回显每一个变量,看效果是不是你需要的,或者用sh -x来调试一下吧

论坛徽章:
0
7 [报告]
发表于 2004-08-10 14:02 |只看该作者

新手solaris 8下if的问题

找到问题了,if中间有那个做ftp就报错,不用ftp就OK,哎,不行,我把ftp部分再写一个shell算了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP