【问题标题】:Csh run script config file, and variablescsh 运行脚本配置文件和变量
【发布时间】:2023-08-31 13:20:01
【问题描述】:

我对 shell(在这种情况下为 csh)脚本相当缺乏经验,但被要求编辑一个。我被要求添加一个配置文件,以便更简单地编辑几个特定变量。我认为这很愚蠢,因为这是一个脚本,并且从文件中读取和读取文件会有点愚蠢,所以我虽然可以制作一个不同的脚本来设置变量。

父脚本

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

./set_vars

echo $aVar

我的 set_vars 脚本看起来像

#!/bin/csh

setenv aVar "400"
echo $aVar

但是我没有在父脚本中定义aVar。

我的问题变成了......如何让子脚本设置父脚本可以使用的变量,或者有没有更好的方法来拥有一个可以设置变量的配置文件。

这似乎是一种愚蠢的做法,但我认为最好的方法不需要任何文件 IO 并且仍然有一个简洁的文件来编辑 vars。

【问题讨论】:

    标签: shell csh env


    【解决方案1】:

    您应该在其父级的上下文中执行“set_vars”脚本。在 C-shell 中,您可以使用“source”命令实现此目的:

    #!/bin/csh ... 源 set_vars ... 回声 $aVar

    【讨论】:

    • 我非常肯定我试过了,但是根据你的建议再试一次,它奏效了!所以非常感谢你,我不知道我以前做过什么愚蠢的事情。像这样设置变量而不是使用配置文本文件有意义吗?