Зависимость утилиты в shell

Las fuentes del sistema de archivos en cuestión están aquí:

https://sourceforge.net/p/schillix-on/schillix-on/ci/default/tree/usr/src/uts/common/fs/fifofs/

también eche un vistazo a esta página de manual:

http://schillix.sourceforge.net/man/man3c/fattach.3c.html

fattach()permite montar un objeto basado en FIFO encima de un archivo.

-4
11.05.2019, 10:01
2 ответа

I know that the "layer" architecture of any *nix OS is kernel-shell-utility ("inner to outer").

Нет. Все работает поверх ядра, а «утилиты», которые не являются сценариями оболочки, не нуждаются в оболочке и, следовательно, не зависят от конкретной оболочки.

Некоторым программам нужны другие, например, клиенту Wayland нужен компоновщик Wayland. Но нет общего наслоения с участием оболочек.

3
28.01.2020, 05:20

Я предполагаю, что под «оболочкой» вы имеете в виду конкретную оболочку, которую вы используете в качестве оболочки входа в вашу систему Unix.

Программное обеспечение на вашем компьютере вполне может зависеть от конкретной оболочки, но оно не будет зависеть от оболочки, которую вы используете в качестве вашей личной оболочки входа в систему (, т.е. оно не будет зависеть от оболочки входа только , потому что это ваша оболочка входа в систему ).

Утилита, реализованная как скрипт (или частично как скрипт ), может использовать, например. /bin/shили какую-либо другую оболочку для выполнения определенных действий, но она будет работать точно так же, если ваша оболочка входа в систему будет bash, zshили yashили какой-либо более эзотерической оболочкой, точно так же, как скрипт Python. одинаковы для всех, независимо от того, какую оболочку они используют.

Помните, что Unix — это многопользовательская -операционная система, и поэтому утилиты командной строки, а также графические приложения будут работать одинаково независимо от того, какую оболочку командной строки использует какой-либо пользователь («сантехника»., т.е. синтаксис запуска утилиты, может немного отличаться, но он будет единообразен в любой пользовательской оболочке ).

Пример утилиты, которая использует сценарий оболочки, см., например,.исполняемый файл firefoxна некоторых системах (это может быть сценарий оболочки, который запускает настоящийfirefoxдвоичный файл ). Некоторые типы компиляторов, например. OpenMPI реализованы как оболочки сценария оболочки вокруг фактического компилятора. Опять же, программы, которые делают это, будут работать одинаково независимо от того, какую оболочку пользователь использует в качестве оболочки входа в систему.

С другой стороны, сценарий оболочки, написанный, например, для.zshне будет надежно работать при выполнении другой оболочкой. В этом нет ничего удивительного, так как замена интерпретатора любого скрипта другим вполне может привести к поломке этого скрипта (, например, запуск скрипта Perl с интерпретатором Ruby, скорее всего, завершится ошибкой ).

1
28.01.2020, 05:20

Теги

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