免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3445 | 回复: 3

共享变量的问题? [复制链接]

论坛徽章:
0
发表于 2004-01-09 15:22 |显示全部楼层
两个用户权限相同(同属一个组),各有一个脚本,脚本之间要共享一个变量,如何实现?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2004-01-09 15:28 |显示全部楼层

共享变量的问题?

用 source 解決:
可將變量"集中"寫在一個設定文件中,然後在 script 中 source 過來用...

請參考 shell 十三問之 6 ... ^_^

论坛徽章:
0
发表于 2004-01-10 16:42 |显示全部楼层

共享变量的问题?

关于source我想同网中人探讨一下,你的那个关于source的讨论我看了,但是有这样的情况,你那个只涉及到父进程和子进程,没有切换用户,我试着编写这样的脚本做实验

  1. #!/usr/bin/sh

  2. echo "start value:\t$COMMON_VAR"

  3. if [ $# -eq 1 ]; then
  4.         COMMON_VAR=$1
  5. fi

  6. export COMMON_VAR
  7. echo "end value:\t$COMMON_VAR"
复制代码


userA执行结果:
$. test.sh 0
start value:   
end value:      0
$. test.sh 3
start value:    0
end value:      3
$. test.sh 5
start value:    3
end value:      5
显然利用source达到了同一用户共用一个变量的目的,接着用userB来执行此脚本(su - userB)
注意一定要带"-"切换环境变量,否则测试结果不准
userB执行结果:
$. test.sh 9
start value:            //显然没有得到userA最后赋予COMMON_VAR的值5,如果切换用户的时候没有带"-"则可以得到那个值
end value:      9
$. test.sh 7
start value:    9
end value:      7

显然单个用户利用source可以达到共用变量的目的,但是不同用户使用想用source来达到共用变量的目的感觉不大可能,请网中人赐教。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2004-01-10 22:56 |显示全部楼层

共享变量的问题?

su 不帶 - 就不會換環境....

若用 su - ,請全部改用"絕對路逕"... 歡迎回報結果...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP