bash настройка сгенерированных переменных - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть имя переменной, которая состоит из строки 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 set и мне не повезло.

[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 ]

2 голосов
/ 07 сентября 2011

Попробуйте:

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

Цитирование важно, set здесь не нужно. AFAICT.

0 голосов
/ 07 сентября 2011

Попробуйте с declare:

declare orig_endpoints_${PCAP_FILE%.*}=$tmpOrig
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...