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

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

пример:

cat specialfile

вывод:

testing 123

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

echo "testing 123"

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

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

  • Удалите пробелы, кроме строк, начинающихся с определенного шаблона
  • Как проверить, содержит ли вход все 26 символов
  • Этот ключ получает значение из таблицы поиска в * nix?
  • удаляя каждый. после] появляются в строке в полном текстовом файле
  • объединить два текстовых файла с добавлением разделителя между ними?
  • Удалите повторяющиеся поля в данном столбце (после проверки идентификатора)
  • Извлечь диаграмму соответствия n-й линии и следующие N строк
  • Какой самый простой способ составить список наиболее распространенных слов в списке?
  • 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) 

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

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.