Настройка сети с помощью QEMU для гостевой системы OpenBSD 6.7 на хосте Debian Buster

Потому что на данный момент это не переменная окружения, а локальная переменная оболочки. Чтобы это работало, вам нужно export MY_TESTего. Альтернативой может быть это:

env MY_TEST=ret./test

(В Bash также просто MY_TEST=ret./test, но сenvболее переносимы между оболочками.)

Вы могли бы, кстати, проверить и это, заменив свой ./testна env|grep MY_TEST.

В Bash (, но не во всех других оболочках ), вы также можете сказать

Выполнение его в командной строке будет -в этом случае -эквивалентно тому, что вы делаете в сценарии.

Используйте:

export MY_TEST=ret; env|grep MY_TEST

, чтобы проверить, что я написал.

Предполагая, что ./testэто сценарий оболочки (того же диалекта оболочки ), вы также можете использовать

source./test

... чтобы перенести все операторы из ./testв вашу текущую оболочку. Переменная shell/local также будет видна, потому что на самом деле вы не запускаете другой процесс.

Подоболочка имеет собственные настройки (, например. параметры оболочки и рабочий каталог ), но технически выполняются в одном и том же процессе. Так что здесь нет fork(). Если есть fork()аргументы командной строки и переменные окружения, можно было бы передать материал другому сценарию/исполняемому файлу.


Это отличается от случая, когда подоболочка наследует оболочки/локальные переменные родительской оболочки:

TEST=ret; (echo "shell variable=$TEST"; env|grep TEST)

Здесь подоболочка (внутри(...))увидит переменную, но это все еще не переменная окружения.

0
29.08.2020, 13:22
1 ответ

Я предполагаю, что -netdev userотлично работает с TCP и UDP, но не с ICMP. Попробуйте запустить tcpdumpна интерфейсе хост-компьютера (s ), чтобы проверить, правильно ли пересылаются и/или транслируются пакеты ICMP.

Я не знаю, как -netdev userработает на хост-компьютере, но если вы хотите, чтобы ваша гостевая машина вела себя как настоящий член вашей сети, возможно, создайте интерфейс tapна хост-компьютере, объединив его. с физическим интерфейсом хоста (оба требуют rootдоступа ), и тогда использование -netdev tapбудет лучшей альтернативой.

0
18.03.2021, 23:09

Теги

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