Могу ли я создать специальный файл в linux, который на самом деле является результатом сценария?

Могу ли я создать специальный файл в Linux, возможно, используя mknod, который является фактически выходом скрипта?

пример:

cat specialfile

вывод:

testing 123

внутри специального файла:

echo "testing 123"

Поэтому вместо фактического отображения echo "testing 123"
он показывает результат тестового testing 123

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

2 Solutions collect form web for “Могу ли я создать специальный файл в linux, который на самом деле является результатом сценария?”

Вы можете создать именованный FIFO ( mkfifo <name> ), а затем выполните:

 mkfifo my-fifo echo "testing 123" > my-fifo 

И в другой оболочке выполните:

 dumb-program my-fifo 

Для немой программы FIFO выглядит как файл (не полностью, так как он не будет доступен для поиска). Это эквивалентно тому, как это делается с анонимными каналами:

 echo "testing 123" | dumb-program /dev/stdin 

Или используя замену процессов в современных оболочках, например:

 dumb-program <(echo "testing 123") 

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

Вы можете выполнить cat в подоболочке в командной строке:

 $(cat specialfile) 

Затем вывод будет интерпретироваться оболочкой.

  • Как заменить дефис словом
  • Извлечь строку перед точками в новый файл
  • Нам нужен список «C», который содержит все элементы «A», но не имеет ни одного из «B»,
  • Согласование шаблонов и обработка текста для списков файлов песен
  • Как добавить и добавить текст в текстовый вывод и сохранить его в одном файле?
  • Как слить весь файл в другую папку в один файл и добавить новую строку
  • Как я могу напечатать строки в файле, который содержит два регулярных выражения, где одна является подстрокой другого
  • Как разделить stdout, чтобы перейти к нескольким выходным файлам?
  • Строки Grep до после, если значение строки больше нуля
  • UNIX: нужно заменить последнюю строку на файле, а также удалить лишнюю пустую строку в конце
  • Удалить несколько строк, не жадных
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.