Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1478077
  • 博文数量: 187
  • 博客积分: 10375
  • 博客等级: 上将
  • 技术积分: 3127
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-07 10:58
文章分类

全部博文(187)

文章存档

2013年(1)

2012年(8)

2011年(28)

2010年(36)

2009年(47)

2008年(67)

我的朋友

分类: LINUX

2010-06-13 10:24:25

最近在看《基于Linux的Oracle数据库管理》这本书,根据书上的示例写的shell脚本,
 

#!/bin/bash
VALUE=`sqlplus -silent /nolog <<END
        conn scott/tiger
        set pagesize 0 feedback off verify off heading off echo off numwidth 4
        select count( * ) coun from all_objects;
        exit;
        END`
if [ "$VALUE" -gt 0 ]
then
        echo "The number of rows is $VALUE."
        exit 0
else
        echo "There is no row in the table."
fi


 
在执行时总报错误:
./sqlshell.sh: line 9: [: ####: integer expression expected
 
书上写的应该没错,查找原因,看了一上我机器上的查询结果是:40620
应该是显示的位宽不够,所以"$VALUE"变成了一个错误的值。
 
把numwidth 4 改成为 numwidth 5
就能正确执行了。
阅读(5515) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~