Выполнение команды linux в предложении Enviroment в служебном файле

Я думаю, что документация Bash несколько вводит в заблуждение по этому вопросу. Глядя на код, даже возвращаясь к версии 2.04, где были введены сетевые перенаправления, /dev/tcpи /dev/udpработают следующим образом:

  • во время сборки скрипт configureпроверяет, поддерживаются ли различные сетевые функции; если да, то если сетевое перенаправление включено (, что имеет место по умолчанию ), встроен внутренний сетевой код;
  • во время выполнения, если внутренний сетевой код встроен, /dev/tcpи/dev/udp(в правильном формате )обрабатываются внутри; в противном случае выдается предупреждение («/dev/ (tcp|udp )/host/port не поддерживается без подключения к сети» )и Bash пытается открыть указанный путь в системе;
  • если сетевые перенаправления отключены, ничего особенного не делается.

Это сводится к:

  • , если включено сетевое перенаправление :
    • если сеть поддерживается на целевой платформе, /dev/tcpи /dev/udpвсегда будут обрабатываться внутри;
    • иначе,Bash предупредит и попытается открыть файл «вслепую»; если система как-то поддерживает /dev/(tcp|udp)/host/port, то он будет использован, иначе, по всей вероятности, перенаправление не удастся;
  • если сетевое перенаправление отключено, никакой специальной обработки не выполняется; как и выше, если система каким-то образом поддерживает /dev/(tcp|udp)/host/port, то это будет использоваться, иначе, по всей вероятности, перенаправление не удастся.

/dev/tcpсуществует в некоторых системах, но, насколько мне известно, ни одна из них не поддерживает ту же абстракцию, что и Bash. В Solaris /dev/tcpиспользуется с инструментом nddдля запроса и изменения конфигурации сети. В XTI(см. также открытую группу , если вы являетесь участником ), функцию t_openможно использовать с /dev/tcpдля открытия TCP-соединения, но она не не используйте настройку на основе пути -, существует отдельная структура данных для указания целевого хоста и порта (и других параметров ).

0
12.02.2021, 09:47
0 ответов

Теги

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