Как создать словарь оболочки из вывода скрипта python?

Итак, вы сказали, что есть внутренний переключатель. У вас есть доступ к управлению этим переключателем? Либо по I2C (встроенный коммутатор), либо по SNMP?

Вы утверждаете, что ваша встроенная ОС запускает DHCP-сервер. Если клиент делает запрос DHCP, разве это не доказательство того, что клиент присутствует и доступен?

Я понятия не имею, что вы подразумеваете под «умным» и «исходящим». Если машина с Windows вообще собирается обмениваться данными по сети Ethernet, она должна отвечать на ARP. Пока что арпинг кажется лучшим вариантом.

0
19.02.2019, 19:26
2 ответа

Использование обратных кавычек является неправильным :, поскольку строка будет пытаться выполниться как внешняя команда. Но строка представляет собой специфическую команду bash и должна выполняться в контексте текущей оболочки.Есть 2 способа сделать это:

  1. используйте evalс подстановкой команд

    gaps=$( your_python_command )
    eval "$gaps"
    # or, the variable is unnecessary:
    eval "$( your_python_command )"
    
  2. использовать sourceс Замена процесса

    source <( your_python_command )
    

В обоих случаях вам лучше убедиться, что вы знаете, что выводит скрипт Python :вы не хотите выполнять какой-либо ненадежный код.

1
28.01.2020, 02:40

Вы можете использовать команду set -xдля отладки. Возьмите приведенный ниже пример:

set -x
declare -A gaps=( [2017-02-11]=4 )

Дам тебе:

+ gaps=([2017-02-11]=4)
+ declare -A gaps

И

s="declare -A gaps=( [2017-02-11]=4 )"
$s

Дам вам:

+ declare -A 'gaps=(' '[2017-02-11]=4' ')'

Итак, вы можете видеть, что во втором случае выполняются следующие команды::

declare -A 'gaps=('
declare -A [2017-02-11]=4
declare -A )
0
28.01.2020, 02:40

Теги

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