【发布时间】:2015-05-16 07:00:26
【问题描述】:
我在 cent OS 中创建了如下脚本:
vi sc2
set var1=hello
set var2=$LOGNAME
export
<Esc>
:wq!
当我想显示 var1 和 var2 的值时,我得到一个空白值。
ls -l
chmod 700 sc2
./sc2
echo $var1
echo $var2
你能帮我解决这个问题吗?
【问题讨论】:
我在 cent OS 中创建了如下脚本:
vi sc2
set var1=hello
set var2=$LOGNAME
export
<Esc>
:wq!
当我想显示 var1 和 var2 的值时,我得到一个空白值。
ls -l
chmod 700 sc2
./sc2
echo $var1
echo $var2
你能帮我解决这个问题吗?
【问题讨论】:
如果这是bash,那么这不是您设置变量的方式。您只需分配给他们var1=hello。 export 应该已经打印出一些变量给你,对吗?
如果这是csh/tcsh,则正确设置了变量,但我认为export 无效。
除了这些细节之外,您还有另一个问题。
当您运行 ./sc2 时,您启动了一个 new shell,因此父 shell 看不到该 shell 中设置的变量(是否导出)(这与使用 . sc2 不同会将它们设置在主 shell 中,因为在这种情况下没有子 shell)。
【讨论】: