2011-02-16 129 views
2

设置变量具有未知名我想设置该名称存储在文件中的变量(是的输出一个sed先前执行)在bash

文件将如下所示:
py1
所以设置我们的变量将如下所示:设置cat file =值
但回显$py1没有给我什么。

这是可能的bash版本2.05?

回答

2

使用eval

eval "$(cat file)=value" 

更新:命令替换$(cat file)可以用等价的,但速度更快$(< file)所取代。

+0

啊,这是简单的...有没有听到'布特那eval(邪恶:))功能!感谢 – kasper 2011-02-16 15:08:57

0

你需要使用eval

eval $(cat file)=value 
3

这是 “首选” 的方式做到这一点(庆典),而不使用cateval

declare $(<file)=value 
+0

好bash给我这个:`声明:命令没有找到.`所以我想我必须使用eval – kasper 2011-02-17 00:51:47