免费注册 查看新帖 |

Chinaunix

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

一个关于变量的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-25 13:01 |只看该作者 |倒序浏览
在命令行中定义 str="hello"
然后在 shell脚本中写入
test set | grep -c str |>0 && echo $str || echo no
但是,为何输出不出来值呢?

论坛徽章:
0
2 [报告]
发表于 2010-11-25 13:29 |只看该作者
我给测试了下,可以输出hello,有可能是逻辑短路了,前面的是0后面就没执行了  不过你这个表达式真的很怪,想干什么呢

论坛徽章:
0
3 [报告]
发表于 2010-11-25 15:16 |只看该作者
回复 2# 论坛ID


    我刚才没表达明白,简单点说
   就是我在命令行下定义一个变量 str="hhh",在命令行下面 echo $str 是可以输出hhh的,但是
    编写一个shell 脚本,在里面使用这个变量,例如  echo $str ,为何输出的是空呢?

论坛徽章:
0
4 [报告]
发表于 2010-11-25 15:20 |只看该作者
这个不能传递吧。你要传递的话可以加一个export,
export str=hello

shell:
#!/bin/bash
echo $str

论坛徽章:
0
5 [报告]
发表于 2010-11-25 15:21 |只看该作者
回复 3# xiaohu66625


    这些问题去shell版问吧,那边高手很多。

论坛徽章:
0
6 [报告]
发表于 2010-11-25 15:23 |只看该作者
回复  论坛ID


    我刚才没表达明白,简单点说
   就是我在命令行下定义一个变量 str="hhh",在命令 ...
xiaohu66625 发表于 2010-11-25 15:16



    第一 我按你写的在bash里测试过 能输出
   第二 这样写:echo "$str"

论坛徽章:
0
7 [报告]
发表于 2010-11-25 15:55 |只看该作者
回复  论坛ID


    我刚才没表达明白,简单点说
   就是我在命令行下定义一个变量 str="hhh",在命令 ...
xiaohu66625 发表于 2010-11-25 15:16



    可以了吧 声明以后 在用“”

论坛徽章:
0
8 [报告]
发表于 2010-11-25 16:21 |只看该作者
明白了,我建立的变量str只是当前shell的局部变量,所以不能被shell运行的其他命令或shell程序所利用,需要用export声明成环境变量才行,O(∩_∩)O~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP