Как использовать (- Дефис) в имени переменной в оболочке?

Взгляните на mac80211_hwsimмодуль ядра. Этот модуль имитирует ряд виртуальных «радио» (карт Wi-Fi или phyс ), которые взаимодействуют друг с другом. Например,

modprobe mac80211_hwsim radios=3

даст вам 3 из них. Используйте iw dev, чтобы просмотреть их и увидеть их MAC-адреса. Затем вы можете использовать iwи ipдля их настройки и имитации точки доступа и любого количества клиентов. Вы также получите интерфейс hwsim0типа ieee802.11/radiotap, и вы можете запустить wiresharkна нем, чтобы увидеть сообщения, которые проходят через "виртуальный" эфир.

Если программное обеспечение, которое вы используете на беспроводных сетевых интерфейсах, не может привязываться к определенным интерфейсам, подумайте о том, чтобы поместить его в сетевое пространство имен для каждого клиента.

4
23.01.2020, 19:58
2 ответа

Предполагая переменную среды, поскольку test-ingне является допустимым именем переменной оболочки, вы можете использоватьprintenv:

% env foo-bar=baz printenv foo-bar
baz

Или Перл:

% env foo-bar=baz perl -e 'print $ENV{"foo-bar"}'
baz

Или другие инструменты, такие как Python и т. д.

11
27.01.2020, 20:46

В оболочкеrcили ее производных (es,akanga)в имени переменной можно использовать что угодно.

Все переменные также экспортируются в среду.

Однако в клоне Байрона Ракитциса rcдля Unix (, из которого es/ akangaпроисходят ), в отличие от порта из plan9rc(теперь общедоступен с тех пор, как plan9 был выпущен как FLOSS ), обратите внимание, что для тех, которые содержат символы вне a-zA-Z0-9_или последовательности из двух или более символов подчеркивания, при экспорте/импорте из среды используется кодирование/декодирование:

$ rc
; foo-bar = baz
; echo $'foo-bar'
baz
; printenv foo-bar
; env | grep foo
foo__2dbar=baz

У Байрона rcтакже нельзя использовать переменную с пустым именем:

; '' = 1
rc: zero-length variable name

Такие вещи, как 1 = fooили * = (foo bar), работают, но они задают позиционные параметры, а не переменные.

5
27.01.2020, 20:46

Теги

Похожие вопросы