Chinaunix

标题: 共享变量的问题? [打印本页]

作者: sqwen    时间: 2004-01-09 15:22
标题: 共享变量的问题?
两个用户权限相同(同属一个组),各有一个脚本,脚本之间要共享一个变量,如何实现?
作者: 網中人    时间: 2004-01-09 15:28
标题: 共享变量的问题?
用 source 解決:
可將變量"集中"寫在一個設定文件中,然後在 script 中 source 過來用...

請參考 shell 十三問之 6 ... ^_^
作者: sqwen    时间: 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来达到共用变量的目的感觉不大可能,请网中人赐教。
作者: 網中人    时间: 2004-01-10 22:56
标题: 共享变量的问题?
su 不帶 - 就不會換環境....

若用 su - ,請全部改用"絕對路逕"... 歡迎回報結果...




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2