bash设置生成的变量

时间:2011-09-07 10:16:51

标签: bash variables set

我有一个变量名,它由字符串orig_endpoints_和文件名(无扩展名)组成。 我可以使用eval echo来查看这个:

[bash]# PCAP_FILE=test_w_three.pcap
[bash]# orig_endpoints_test_w_three=blah
[bash]# eval echo "\$$(echo orig_endpoints_${PCAP_FILE%.*})"
blah
[bash]# 

现在如何将此变量设置为以空格分隔的src ips列表:dst ips?我尝试了eval套装,似乎没有任何运气。

[bash]# orig_endpoints_test_w_three=
[bash]# tmpOrig="10.21.20.66:10.21.20.57 10.21.20.66:10.21.22.25 10.21.20.66:10.21.22.51 10.21.20.66:10.65.111.219     10.21.20.66:10.65.111.220 10.21.20.66:10.65.111.30 10.21.20.66:10.65.52.48"
[bash]# eval set orig_endpoints_${PCAP_FILE%.*}=$tmpOrig
[bash]# eval echo \$$(echo orig_endpoints_${PCAP_FILE%.*})

[bash]# echo $orig_endpoints_test_w_three

[bash]#

有人知道我怎么设置这个吗?

2 个答案:

答案 0 :(得分:2)

尝试:

eval orig_endpoints_${PCAP_FILE%.*}='$tmpOrig'

引用很重要,此处AFAICT不需要set

答案 1 :(得分:0)

尝试declare

declare orig_endpoints_${PCAP_FILE%.*}=$tmpOrig