免费注册 查看新帖 |

Chinaunix

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

here文档结束符分析(原创) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-05 14:47 |只看该作者 |倒序浏览
以下是我个人在SCO5.0.6以AIX5.2下ksh中的测试结果,如有什么不妥或理解不对之处,请各位指正。

#if [ 1 -eq 1 ]; then
#        isql << --
#!
#!
#fi
#使用形如"<< --"的here文档时,here文档不能包含在选择分支或循环等结构中
#定义的输入结束符可以转行,也可以不转行
#结束符(如果定义时转了行的话)两个"!"都必须是在行首
#如果不转行的话,"!"与"-"之间不能留有空格或制表符!

#if [ $tt -eq 1 ]; then
#        isql <<--!
#        !
#fi
#使用形如"<<--"的here文档时,here文档不能包含在选择分支或循环等结构中
#定义的输入结束符可以转行,也可以不转行
#结束符(如果定义时转了行的话)两个"!"都不必是在行首
#如果不转行的话,"!"与"-"之间不能留有空格或制表符!

#if [ 1 -eq 1 ]; then
#        isql <<-        !
#        !
#fi
#使用形如"<<-!"的here文档时,here文档可以包含在选择分支或循环等结构中
#定义的输入结束符不能转行,不过与"-"之间可以留有空格或制表符
#实际的输入结束符(第二个"!"不必是在行首
#但是此时"<<"与"-"之间不能留有空格!

#if [ 1 -eq 1 ]; then
#        isql <<        !
#!
#fi
#使用形如"<<!"的here文档时,here文档可以包含在选择分支或循环等结构中
#定义的输入结束符不能转行,不过与"<<"之间可以留有空格或制表符
#实际的输入结束符(第二个"!"必须是在行首

#但是如果多个here文档在一个脚本里使用的话可能会互相影响,
#因此建议此时定义各不相同的输入结束符
#不过,,,,,数据库脚本似乎只接受"!"作为here文档的结束符

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
2 [报告]
发表于 2004-01-05 15:18 |只看该作者

here文档结束符分析(原创)

不过,,,,,数据库脚本似乎只接受"!"作为here文档的结束符


偶用过这样的一个脚本连接oracle数据库,不是用!,没问题啊...
  1. sqlplus account/password@connectstring<<EOF
  2. select 'Records count of omcr1 ${A}: '||count(*) from cell_statistics
  3. where period_start = to_date('$A','yyyymmddhh24');
  4. exit
  5. EOF
复制代码

ps: A变量为2004010510这样的形式

论坛徽章:
0
3 [报告]
发表于 2004-01-05 17:07 |只看该作者

here文档结束符分析(原创)

楼主自己理解的还是那里转贴的?
觉得有些不是很对呀。

论坛徽章:
0
4 [报告]
发表于 2004-01-06 08:43 |只看该作者

here文档结束符分析(原创)

这个贴子的主体就是我用来测试的脚本,不过是每一段逐个放开测试的。基本上没有大的问题吧,
如果觉得有什么不对的,可以提出来讨论来,欢迎之至!

另外关于Minsic兄的问题,我当时试用别的符号的确就是没有通过,关于这一点,我也很疑惑,所以提出来希望能看看大家使用的结果的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP