ฉันจะเปลี่ยนคำฟุ่มเฟื่อยของคำสั่งบริการได้อย่างไร


13

ฉันใช้ Kali 2 Linux ฉันใช้คำสั่งsystemctlหรือserviceเพื่อเริ่มบริการเช่น Apache ในเวอร์ชั่นก่อนหน้าของ Kali คำสั่งจะพิมพ์ข้อความ "OK" เมื่อเริ่มบริการ แต่ในรุ่นนี้มันแค่หยดกลับไปที่บรรทัดคำสั่งโดยไม่พูดอะไรเลย

มีวิธีที่จะเปลี่ยน verbosity หรือทำให้มันทำงานเหมือนรุ่นก่อนหน้านี้?


ปกติแล้วเมื่อไม่มีข้อความใดที่หมายถึงความสำเร็จ
Svetlin Tonchev

คำตอบ:


1

ปัจจุบันserviceคำสั่ง (ปกติแล้ว/usr/sbin/) เป็นเพียงbashเชลล์สคริปต์ที่เรียกใช้systemctlคำสั่ง คุณควรจะสามารถปรับเปลี่ยนได้อย่างง่ายดายเพื่อให้ผลลัพธ์ที่คุณต้องการ


0

journaldเป็น daemon ที่รวมศูนย์ซึ่งรวบรวมข้อมูลจากแหล่งข้อมูลที่มีอยู่ทั้งหมดและเก็บไว้ในรูปแบบไบนารีเพื่อการจัดการที่ง่ายและไดนามิก เป็นคำตอบของคำถามของคุณฉันจะบอกว่าโดยปกติเมื่อไม่มีผลลัพธ์ที่หมายความว่ามัน "ตกลง" และถ้าคุณต้องการให้แน่ใจว่าใช้journalctlเพื่อตรวจสอบบันทึก


ฉันรู้ แต่ฉันชอบความรู้สึกของข้อความ ok ที่คุ้นเคยกับมันและฉันต้องการให้ป๊อป
RL.AdmiralX

ไม่ว่าบริการจะเริ่มต้นหรือไม่ไม่มีผลลัพธ์ ฉันต้องการที่จะเพิ่มชื่อแทน: บริการ $ 1 เริ่มต้น, สถานะบริการ $ 1
Lenne

-1

คุณสามารถเพิ่มecho $?คำสั่งเพื่อแสดงสถานะ 1 หรือ 0

&&มีผลเพียงใช้คำสั่งที่สองถ้าก่อนหน้านี้ที่ประสบความสำเร็จ

systemctl start mysqld.service && echo $? 

สิ่งนี้จะแสดงสถานะ:

ถ้ามันล้มเหลวมันจะพิมพ์ข้อความว่าทำไมมันล้มเหลว

ถ้าสำเร็จคุณจะเห็น 0 เท่านั้น

คุณสามารถผนวก k 0 = 0k ได้

นี่เป็นวิธีแก้ปัญหาราคาถูก แต่จะให้ผลตอบแทนที่ดีหลังจากที่คุณใช้ systemctl โทร


2
&& echo $?ดูเหมือนว่าเป็นสิ่งที่แปลกประหลาดที่จะทำ; มันจะพิมพ์0หรือไม่มีอะไรเลย คุณเช่นกันอาจจะพูดหรือ&& echo OK && echo Success
G-Man กล่าวว่า 'Reinstate Monica' ใน

1
ไม่มันไม่เหมือนกับเสียงก้องตกลง มันสะท้อนผลลัพธ์ที่แท้จริงของคำสั่งสุดท้าย ถ้าเป็น 0 มันก็ประสบความสำเร็จ หากไม่ประสบความสำเร็จจะเป็น 1
Mark Stewart

1
แต่คุณกำลังพูด&& echo $?! หากคำสั่ง (คำสั่งแรก) ล้มเหลวเชลล์จะไม่รันคำสั่งที่สอง (คำสั่งถัดไป  &&) ดังนั้นมันจะไม่พิมพ์อะไรเลย!
G-Man กล่าวว่า 'Reinstate Monica' ใน

1
ไม่เมื่อล้มเหลวมันจะพิมพ์ข้อความที่ systemctl ส่งเมื่อบริการไม่เริ่มทำงาน ลองด้วยตัวคุณเองมันใช้งานได้จริง ตัวอย่างเช่น (ฉันต้องใช้การเรียกใช้บริการเนื่องจาก RHEL ทำเอาต์พุตบนล้มเหลวหรือสำเร็จ) เมื่อบริการล้มเหลวคุณจะได้รับเอาต์พุต systemctl มาตรฐานเมื่อบริการเริ่มต้นคุณจะได้รับ 0 จะเป็น 1 คำสั่งที่สองรัน (สามารถทดสอบด้วยแทน &&) การบริการวิ่ง:
Mark Stewart

2
ฉันไม่ได้บอกว่ามันใช้งานไม่ได้ ผมบอกว่า&& echo $?งานตรงเดียวกันเป็น&& echo 0- ที่“ $?” ทำให้มีลักษณะเหมือนที่คุณกำลังทำบางสิ่งบางอย่างที่มีความซับซ้อนมากขึ้นกว่าที่เป็นอยู่ - และตราบใดที่คุณกำลังจะทำสิ่งที่เป็นความตรงไปตรงมาเป็น&& echo 0คุณเช่นกันอาจจะทำ&& echo OKซึ่ง จะให้ผลลัพธ์ที่คำถามถาม ... ... ... ... ... ... ... ... ... ... ... ... ... ... คือ  echo 0เหมือนกับecho OK? ไม่แน่นอนไม่; 0 เป็นตัวละครตัวหนึ่งซึ่งเป็นตัวเลขในขณะที่OK เป็นตัวละครสองตัวซึ่งเป็นตัวอักษร (ตัวอักษร) ดุจ … (ต่อ)
G-Man พูดว่า 'Reinstate Monica'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.