2010-09-13 120 views
0

我对shell(本例中为csh)脚本缺乏经验,但被要求编辑一个脚本。我被要求添加一个配置文件,以便更容易编辑几个特定的​​变量。我认为这很愚蠢,因为这是一个脚本,读取文件和读取文件都会有点愚蠢,所以我尽管可以创建一个不同的脚本来设置变量。Csh运行脚本配置文件和变量

父脚本

#!/bin/csh 
... 
... 

./set_vars 

echo $aVar 

和我set_vars脚本看起来像

#!/bin/csh 

setenv aVar "400" 
echo $aVar 

但AVAR我鼻涕父脚本中定义。

我的问题变成了......我如何让子脚本设置父脚本可以使用的变量,还是有更好的方法来让某个人可以设置变量的配置文件。

这似乎是一个愚蠢的方式做到这一点,但我可以告诉大家,这并不最好的方式要求任何文件IO,仍然有一个简洁的文件进行编辑瓦尔。

回答

1

你应该在执行“set_vars”脚本其父母的背景。在C-shell中,与“源”命令实现这一目标:

 
#!/bin/csh 
... 
source set_vars 
... 
echo $aVar
+0

我是可以肯定我试过了,但是给了另一个与你的建议去和它的工作!所以非常感谢你,我不知道我以前做了什么dopey的事情。仅仅设置像这样的变量而不是使用配置文本文件是否有意义? – 2010-09-13 14:31:01