Shell脚本问题设置我的环境

时间:2010-10-27 08:03:24

标签: shell environment-variables unix

我们有很少的可执行文件需要一些环境设置。 我们在运行可执行文件之前手动运行这些脚本

喜欢

$ . setenv.ksh

我们必须在一个脚本中调用这些来避免手动工作。 我们写了一个像

这样的sh脚本
#!/bin/sh

. setenv.ksh

./abc &

仍然没有在该会话中设置环境。我觉得 ”。 setenv.ksh“使用fork运行,而不是设置环境。

请我解决这个问题。我们使用哪个命令来运行setenv.ksh,这样可以正常工作。

谢谢

2 个答案:

答案 0 :(得分:1)

在setenv.ksh中,您需要导出您设置的所有环境变量,以便任何子shell都将继承值:

export MYENV=myValue

答案 1 :(得分:1)

我注意到环境脚本名为setenv.ksh,但您尝试从/bin/sh运行它。也许你的系统有一个除了ksh之外的shell /bin/sh而且它错误地标记了它setenv.ksh。尝试将shebang行更改为#!/bin/ksh(或者系统中ksh的路径)。