免费注册 查看新帖 |

Chinaunix

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

请教shell环境变量的设置,(我已经搜过老贴了) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-05 10:20 |只看该作者 |倒序浏览
1。以root用户登陆,在.profile 文件下加上summer=hot ;export $summer
重起之后,敲set ,看见了summer=hot一行,敲sh,敲set,却看不到了,为什么子shell不能沿用原shell的环境变量呢?
2。假设根目录下有一个文件为wwww ,./wwww  和.空格/wwww 有什么区别?

论坛徽章:
0
2 [报告]
发表于 2003-08-05 11:23 |只看该作者

请教shell环境变量的设置,(我已经搜过老贴了)

原帖由 "池塘春草" 发表:
1。以root用户登陆,在.profile 文件下加上summer=hot ;export $summer
重起之后,敲set ,看见了summer=hot一行,敲sh,敲set,却看不到了,为什么子shell不能沿用原shell的环境变量呢?
2。假设根目录下有一个文..........
   

1. export 不須加 "$"
2. ./wwww shell  會開一個sub shell, 執行 wwww.
   . wwww 會在當前的shell 執行.
  分別是 用 ./xxxx 不會更改變當shell 環境變量 . wwww會改變當shell的環境變量
eg ..
[root@dev /]# cat wwww
#!/bin/bash

a=10
echo $a
[root@dev /]# ./wwww
10
[root@dev /]# echo $a

[root@dev /]# . wwww
10
[root@dev /]# echo $a
10
...

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2003-08-05 11:39 |只看该作者

请教shell环境变量的设置,(我已经搜过老贴了)

在 sh 中,用 set 命令看到的是所有的变量,包括环境变量和局部变量。你可以用 env 命令来查看环境变量,而不会包括局部变量。(一般来说环境变量最好用大写来表示,这样比较容易分清楚)

论坛徽章:
0
4 [报告]
发表于 2003-08-06 16:30 |只看该作者

请教shell环境变量的设置,(我已经搜过老贴了)

kkng09   :
但是我. /wwww 之后,set下能看到a=10,但是env下没有a=10,不是说env是看环境变量的吗?为什么没有那?

论坛徽章:
0
5 [报告]
发表于 2003-08-06 17:47 |只看该作者

请教shell环境变量的设置,(我已经搜过老贴了)

原來我的script 少了export 這一行, 沒有把a 設為環境變量,結果是一樣.

再看demo ,今回加了export.
------
[root@dev /]# cat wwww
#!/bin/bash

a=10     <---------- 把a 設為局部變量, 值=10
echo $a
export a  <---------- 把a升為環境變量
[root@dev /]# unset a
[root@dev /]# ./wwww
10
[root@dev /]# echo $a

[root@dev /]# set |grep "^a="
[root@dev /]# env |grep "^a="
[root@dev /]# . wwww
10
[root@dev /]# echo $a
10
[root@dev /]# set |grep "^a="
a=10
[root@dev /]# env |grep "^a="
a=10            <-------------- 可用env 查看了
------
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP