Що означає мати знак мінус як перший символ команди у htop-виведенні?


24

У htop або інших командах, що показують стан процесу, всі файли bash містяться в командному стовпці

/bin/bash

але в командному стовпці є один процес

-bash

Що це означає?


5
Це не конкретно htop, це специфічно для bash. Це означає, що це оболонка для входу.
Йорданм

3
@jordanm Не характерно для bashобох, інші оболонки роблять те ж саме.
lcd047

Відповіді:


30

Знак мінус перед назвою команди - це умова, яку програми для входу використовують для запуску оболонок входу. Програма Ввійти програму , де ви зазвичай введіть пароль і починає сеанс для вас, таких , як login, sudo -i, su -, SSHD, і т.д. Логін оболонка початковій оболонки в текстовому режимі сесії.

Зазвичай, коли програма викликає іншу програму, вона передає ім'я програми як аргумент 0; Аргументи командного рядка нумеруються починаючи з 1. Наприклад, коли ви запускаєте cp foo bar, він виконує виконуваний файл, розташований за адресою /bin/cp(у типових системах), і передає cpяк аргумент 0, fooяк аргумент 1 і barяк аргумент 2. Звичайною умовою є використання базове ім'я виконуваного файлу як аргумент 0. Коли програма входу викликає оболонку, вона порушує цю умову і ставить додатковий дефіс перед назвою програми. Корпуси розуміють це альтернативні конвенції і встановити речі належним чином для входу в оболонку, зазвичай читає файл ініціалізації , такі як ~/.profile, ~/.login, ~/.bash_profileі т.д. в залежності від оболонки.

Дивіться також різницю між оболонкою для входу та оболонкою без входу?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.