Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

เคล็ดลับ Unix Shell:เปลี่ยนเชลล์การเข้าสู่ระบบจาก Bash เป็นอย่างอื่น

คำถาม: ฉันจะทราบได้อย่างไรว่าฉันกำลังรัน 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