我在分操作系统中创建了一个脚本如下:
vi sc2
set var1=hello
set var2=$LOGNAME
export
<Esc>
:wq!
当我想显示var1和var2的值时,我得到一个空值。
ls -l
chmod 700 sc2
./sc2
echo $var1
echo $var2
你能帮我解决这个问题吗?
答案 0 :(得分:2)
如果这是bash
,那么你不是如何设置变量的。您只需为其分配var1=hello
即可。并且export
应该打印出一些变量给你,是吗?
如果这是csh
/ tcsh
,那么正确设置变量,但我认为export
无效。
除了这些细节,你还有另一个问题。
当您运行./sc2
时,您启动了一个 new shell,因此父shell中看不到该shell中设置的变量(导出或未导出)(这与使用{{ 1}} 会在主shell中设置它们,因为在这种情况下没有子shell。)