Bash получил ваш ввод со своего стандартного ввода (stdin), который является терминалом.
Терминал может находиться в одном из двух режимов: сырой или приготовленный (также известный как «символьный режим» и «строчный режим», термины «сырые» и «приготовленные» в основном используются в мире Unix) (слово «приготовленные» было введено как каламбур, чтобы противопоставить «сырым»). В необработанном режиме терминал немедленно передает ввод в приложение. В подготовленном режиме терминал считывает полную строку и предоставляет (очень примитивный) механизм редактирования строки и передает данные приложению только тогда, когда пользователь нажимает Enter.
Терминалы запускаются в режиме приготовления. Приложения, которые хотят большего контроля над вводом, такие как bash, переводят терминал в необработанный режим, ожидая, пока пользователь введет команду.
Ответ Мерфив значительной степени верен, но я бы предложил вместо этого установить двоичный файл в /usr/local/sbin
, поскольку он не упакован. (Вне /usr/local
, /usr
в идеале должны содержать только упакованное программное обеспечение.)
Если у вас открыта оболочка в blackbox-anonymous
каталог, процесс установки сводится к
sudo cp etc/default/blackbox-anonymous /etc/default/
sudo install usr/sbin/anonymous /usr/local/sbin
. Последнее гарантирует, что скрипт будет исполняемым.
Вы просто копируете файлы в каталоги /usr/sbin
и /etc/default
, так как они размещены в проекте. Обязательно установите права на исполняемый файл для /usr/sbin/anonymous
.