当前环境变量里 a=kkkkkkkk,运行脚本 export a=sssssss ,在脚本运行过程中(fork)变量a是被改了,可是子进程结束
后,当前环境变显的a没有受到影响。
bash里有没有类似C的setenv函数?
$> echo $a
kkkkkkkk
--- test.sh---
#!/bin/bash
a=sssss
export a
echo $a
$> test.sh
sssss
$>echo $a
kkkkkkkkk
唉。。。。看来只能用C写了,工作量增加N次方
:-(
On 7月17日, 上午9时33分, sunny <sunny.sz...@gmail.com> wrote:
> 似乎无解。执行一个脚本就是启动了一个新的SHELL,在新的SHELL里改动的环境变量不会影响到父SHELL
我怎么想了几天都没想到这一点呢。。。。。该死!!
但是试了以后发现效果还是一样的。
除非涉及到架构原理或安全问题,不然一定会有办法的。继续找。。。。
On 7月17日, 下午3时39分, BiFF <sha...@gmail.com> wrote:
> 高人啊!!
>
> 我怎么想了几天都没想到这一点呢。。。。。该死!!
先写一个脚本,内容是
----------test.sh ------------
read name
export MYNAME=$name
然后在 .bashrc 里定义
alias chgname="source test.sh"
以前没仔细想过,没想到看似这么简单的一个问题都能搞死人!!
用 C 也是 fork 新进程,确实不行
以前没仔细想过,没想到看似这么简单的一个问题都能搞死人!!
在 07-7-26,ideas<mr.i...@gmail.com> 写道:
实在找不出更好的办法了。。。。。
On Jul 30, 8:15 pm, BiFF <sha...@gmail.com> wrote:
> 在给别人调用的时候屏蔽了一下,
>
> 实在找不出更好的办法了。。。。。
On 8月2日, 下午11时54分, fanlix <fan...@gmail.com> wrote:
> hello BiFF:
>
> 其实你要的就是
> read CSVNAME
> 这一个命令而已,何必如此周折。
不解。读入一个变量是没有问题,现在的问题是如何通过 "直接" 运行一个脚本修改环境参数
我现在是用 alias editenv=`. editenv.sh` 来解决的
>
> 倒是你让所有客户都用一个用户名登录系统这点可以考虑改进一下。
>
因为是一个团队为银行做开发,这种情况下银行通常只会提供一个登录帐号
如果我有主动权,估计也不会用CVS,而是改用SVN了
而且这中间有个非常BT的决定:项目经理让所有开发人员在同一个服务器的一个源码目录下编辑开发--也就是同仓库、同工作目录,CVS的作用跟tar差
不了多少了,完全没有协同的意义了