免费注册 查看新帖 |

Chinaunix

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

引用里头能传入变量吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-21 13:50 |只看该作者 |倒序浏览
如下的脚本:
log_20071021 可以用变量代替吗?


./sqlite3.exe         $LGR_DATABASE_NAME <<!

CREATE TABLE log_20071021 (
surf_log_id INTEGER PRIMARY KEY,
surf_group_id NUMERIC,
surf_group_name TEXT,
surf_user_id NUMERIC,
surf_user_name TEXT,
req_datetime NUMERIC,
req_url TEXT,
req_host TEXT,
req_protocol TEXT,
req_pathname TEXT,
req_search TEXT,
req_hash TEXT,
local_surf_history_dir TEXT,
req_page_title TEXT,
create_date NUMERIC,
create_by TEXT,
last_update_by TEXT,
last_update_date NUMERIC);

CREATE UNIQUE INDEX log_20071021_u1 ON log_20071021(surf_log_id ASC);

.separator "\t"
.import log_20071021.csv log_20071021
.quit
!

论坛徽章:
0
2 [报告]
发表于 2007-10-21 14:07 |只看该作者
我只知道这么做可以引用变量
command <<EOF
xxx
yyy
$var
...
EOF
此种方式,$var会用实际的变量替换


command <<"EOF"
xxxx
yyy
$var
....
EOF
就会原封不动的作为命令的输入


用的是bash

论坛徽章:
0
3 [报告]
发表于 2007-10-21 14:22 |只看该作者
是的.这样是OK的.
$ var=hello,world
$ sh <<EOF
> echo $var
> EOF
hello,world

但是我的是
sh         <<EOF
./sqlite3.exe         $LGR_DATABASE_NAME
CREATE TABLE '$LGR_TABLE_NAME' (
surf_log_id INTEGER PRIMARY KEY,
surf_group_id NUMERIC,
....
EOF

这样就会不存在.

论坛徽章:
0
4 [报告]
发表于 2007-10-21 14:34 |只看该作者

  1. sh <<EOF
  2. echo  $LGR_DATABASE_NAME  '$LGR_TABLE_NAME'
  3. EOF
复制代码


能够正确地输出 $LGR_DATABASE_NAME  和 $LGR_TABLE_NAME 的内容吗?
也许是因为变量没有设置
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP