Як змінити багатослівність команди служби?


13

Я запускаю Kali 2 Linux. Я використовую команду systemctlабо serviceдля запуску такої послуги, як Apache. У попередній версії Kali команда фактично друкує повідомлення "ОК" під час запуску послуги; але в цій версії він просто повертається до командного рядка, нічого не кажучи.

Чи є спосіб змінити багатослів’я або змусити його вести себе так, як це робила попередня версія?


Ну зазвичай, коли немає повідомлення, яке означає успіх.
Світлін Тончев

Відповіді:


1

serviceКоманда (зазвичай /usr/sbin/) в наш час , як правило , просто bashсценарій оболонки , який запускає systemctlкоманду. Ви можете легко змінити його, щоб дати вихід, який ви бажаєте.


0

journaldЦе централізований демон, який збирає дані з усіх доступних джерел і зберігає їх у двійковому форматі для легкої та динамічної маніпуляції. Як відповідь на ваше запитання, я б сказав, що зазвичай, коли немає виводу, це означає, що це "ОК", і якщо ви хочете, щоб переконатися, що journalctlпотрібно перевірити журнали.


Я знаю, але мені подобається відчуття нормального повідомлення, до якого я звик, і мені це потрібно, щоб поп
RL.AdmiralX

Незалежно від того, починається служба чи ні, вихід не має. Мені спокуса додати псевдонім: початок послуги $ 1; статус $ 1 служби
Ленна

-1

Ви можете додати echo $?до команди, щоб відобразити статус 1 або 0.

Ефект &&має лише виконання другої команди, якщо попередня успішна.

systemctl start mysqld.service && echo $? 

Це покаже статус:

якщо це не вдасться, він надрукує повідомлення, чому воно не вдалося

якщо це вдасться, ви побачите лише 0

Ви можете в своїй думці додати k 0 = 0k

Це дешеве вирішення, але ви отримаєте нормальну віддачу після викликів systemctl.


2
&& echo $?видається своєрідною справою; він буде надрукований 0або взагалі нічого. Ви можете також сказати && echo OKабо && echo Success.
G-Man каже: "Відновіть Моніку"

1
ні, це не так, як відлуння добре. Це перегукується з фактичним результатом останньої команди. Якщо це 0, це було успішно. Якщо не вдасться, це буде 1.
Марк Стюарт

1
Але ти кажеш && echo $?! Якщо команда (перша) не вдасться, оболонка не запустить другу команду (одну після  &&), і тому вона нічого не надрукує!
G-Man каже "Відновити Моніку"

1
Ні, коли це не вдасться, він надрукує повідомлення, яке systemctl надсилає, коли сервіс не запускається. Просто спробуйте самі, це працює, я це використав. Наприклад (я повинен використовувати службові дзвінки, оскільки RHEL робить вихід при відмові або успіху) Коли сервіс не працює, ви отримуєте стандартний вихід з ладу systemctl. Коли сервіс запускається, ви отримуєте 0 0 буде запущено друге твердження (можна перевірити, замість; &&) Служба працює:
Марк Стюарт

2
Я не сказав, що це не працює. Я сказав, що && echo $?працює точно так само, як && echo 0і " $?" робить це схожим на те, що ти робиш щось більш витончене, ніж ти є, - і до тих пір, поки ти будеш робити щось не так складно, як && echo 0ти можеш зробити це && echo OK, що дасть результат, про який задається питання. …………………………………… Чи  echo 0точно таке саме, як echo OK? Ні, звичайно, ні; 0 є одним символом, який є цифрою, тоді OK як два символи, які є (алфавітними) літерами. Дух. … (Продовжував)
G-Man каже «Відновити Моніку»
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.