Как создать специальные файлы, которые общаются с оболочкой BASH - PullRequest
1 голос
/ 21 июня 2010

Я пытаюсь использовать чужой код [c], который управляет оболочкой linux через беспроводное USB-устройство.Это fopen-ы файлы "IReadFromBash" и "IWriteToBash" в текущем каталоге для связи.Он поставляется без заметок, но, очевидно, ожидает, что специальный файл уже существует, чтобы облегчить это, и segfaults без них.Есть ли какой-нибудь очевидный способ создания именованных входных и выходных файлов, которые подключаются к оболочке?

1 Ответ

2 голосов
/ 21 июня 2010

С моей стороны это всего лишь предположение, но я подозреваю, что они получат именованные каналы, созданные с mknod Это кажется мне лучшим способом достижения желаемой цели.

Вы можете увидеть это в действии здесь. Из терминальной сессии:

pax> mknod infile p
pax> mknod outfile p
pax> bash <infile >outfile

Затем из другого терминала:

pax> echo ls >infile
pax> cat outfile | sed 's/^/    /'
    backup0.sh
    backup1.sh
    Desktop
    Downloads
    infile
    Music
    outfile
    Pax
    Pictures
    Public
    super_sekrit_porn
    Templates
    Videos
    workspace
pax> _
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...