คำถาม: ฉันจะทราบได้อย่างไรว่าฉันกำลังรัน Unix shell ใดอยู่ คุณช่วยอธิบายได้ไหมว่าฉันจะเปลี่ยน Unix shell ทั้งชั่วคราวและถาวรได้อย่างไร (ตัวอย่างเช่น จาก bash ถึง tsh)
คำตอบ: คุณสามารถทำได้โดยใช้ $0, exec, chsh -s . ในบทความนี้ ให้เราทบทวนวิธีการทำอย่างละเอียด
1. Unix shell ปัจจุบันของฉันคืออะไร
ใช้คำสั่ง echo $0 เพื่อรับชื่อเชลล์ปัจจุบันของคุณดังที่แสดงด้านล่าง
$ echo $0 /bin/bash
2. จะเปลี่ยนเชลล์ปัจจุบันของฉันเป็นประเภทอื่นได้อย่างไร – ชั่วคราว ?
ใช้คำสั่ง exec เพื่อเปลี่ยนเชลล์ของคุณชั่วคราวดังที่แสดงด้านล่าง
$ echo $0 /bin/bash $ exec /bin/sh $ echo $0 /bin/sh
หมายเหตุ: การเปลี่ยนแปลงข้างต้นเป็นเพียงชั่วคราว เมื่อคุณเข้าสู่ระบบใหม่ คุณจะกลับไปที่เปลือกเดิม
3. จะเปลี่ยนเชลล์ปัจจุบันของฉันเป็นประเภทอื่นได้อย่างไร - อย่างถาวร?
หากต้องการเปลี่ยนเชลล์ของคุณอย่างถาวร ให้ใช้ chsh คำสั่งดังรูปด้านล่าง
$ chsh -s /bin/sh Password:
หมายเหตุ: การเปลี่ยนแปลงข้างต้นเป็นแบบถาวร แม้หลังจากเข้าสู่ระบบใหม่ คุณจะเห็นเฉพาะเชลล์ใหม่เท่านั้น
4. ฉันจะค้นหาเชลล์ที่มีอยู่ทั้งหมดในระบบของฉันได้อย่างไร ?
เชลล์ที่มีอยู่ทั้งหมดจะอยู่ในไฟล์ /etc/shells
$ cat /etc/shells # /etc/shells: valid login shells /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh /usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen /bin/ksh93
สำหรับการเปลี่ยนเชลล์การเข้าสู่ระบบ คุณสามารถทำได้จากผลลัพธ์ด้านบนเท่านั้น แต่สำหรับการเปลี่ยนเชลล์ปัจจุบัน คุณสามารถไปที่เชลล์ใดก็ได้ที่มี
5. ติดตั้งเชลล์ใหม่
คุณสามารถติดตั้งเชลล์ใหม่ (เช่น ksh) ดังที่แสดงด้านล่าง หลังจากติดตั้งเชลล์ใหม่ คุณสามารถใช้เป็นเชลล์ล็อกอินถาวร หรือเชลล์ชั่วคราวสำหรับการดำเนินการบรรทัดคำสั่งของคุณ
$ sudo apt-get install ksh