เป็นไปได้อย่างไรที่จะเปลี่ยนเปลือกเริ่มต้น env
คำสั่งขณะพูดว่า:
SHELL=/bin/tcsh
และฉันต้องการเปลี่ยนสิ่งนั้นเป็น Bash
เป็นไปได้อย่างไรที่จะเปลี่ยนเปลือกเริ่มต้น env
คำสั่งขณะพูดว่า:
SHELL=/bin/tcsh
และฉันต้องการเปลี่ยนสิ่งนั้นเป็น Bash
คำตอบ:
chsh
ลองคำสั่ง linux
chsh -s /bin/bash
คำสั่งที่มีรายละเอียดคือ มันจะแจ้งให้คุณป้อนรหัสผ่านของคุณ /bin/bash
ตอนนี้เชลล์ล็อกอินเริ่มต้นของคุณคือตอนนี้ คุณต้องออกจากระบบและลงชื่อเข้าใช้ใหม่เพื่อดูการเปลี่ยนแปลงนี้
ข้อความต่อไปนี้มาจาก man page:
คำสั่ง chsh เปลี่ยนเชลล์ล็อกอินของผู้ใช้ นี่เป็นตัวกำหนดชื่อของคำสั่งการล็อกอินครั้งแรกของผู้ใช้ ผู้ใช้ปกติสามารถเปลี่ยนล็อกอินเชลล์สำหรับบัญชีของเธอเอง superuser อาจเปลี่ยนเชลล์ล็อกอินสำหรับบัญชีใด ๆ
คำสั่งนี้จะเปลี่ยนเปลือกเข้าสู่ระบบเริ่มต้นอย่างถาวร
หมายเหตุ: หากบัญชีผู้ใช้ของคุณเป็นระยะไกลเช่นในการตรวจสอบสิทธิ์ Kerberos (เช่น Enterprise RHEL) คุณจะไม่สามารถใช้งานchsh
ได้
chsh: can only change local entries; use ypchsh instead
. จากนั้น ypchsh ไม่มี-s
ตัวเลือกใด ๆ
/etc/passwd
แต่ฉันไม่ได้ตรวจสอบอีกครั้ง
exec /bin/bash
ไป~/.profile
นี้และอนุญาตให้ฉันเข้าสู่ระบบโดยตรงกับทุบตีโดยไม่มีการเปลี่ยนแปลงใด ๆ ไปยังเซิร์ฟเวอร์ (เชลล์เริ่มต้นดั้งเดิมเป็นเพียง/bin/sh
)
exit
ทุบตีล่ะ? คุณจะออกจากระบบเซิร์ฟเวอร์โดยตรงหรือเพียงแค่ออกจาก bash และลงใน sh และอีกอันที่exit
จำเป็นในการออกจากเซิร์ฟเวอร์
คุณสามารถเปลี่ยนไฟล์ passwd โดยตรงสำหรับผู้ใช้เฉพาะหรือใช้คำสั่งด้านล่าง
chsh -s /usr/local/bin/bash username
จากนั้นออกจากระบบและเข้าสู่ระบบ
which bash
ก่อนที่จะเรียกใช้คำสั่งด้านบน ไมล์สะสมของคุณอาจแตกต่างกันไปตามตำแหน่ง ในกรณีของฉันพบได้ใน/bin/bash
chsh
คำสั่งนั้นเป็นส่วนหนึ่งของutil-linux
แพ็คเกจ; และchsh -s $(which bash) $USER
ควรส่งผลเช่นเดียวกับข้างต้น
-l
ตัวเลือก: "print list of shells"
chsh -s /bin/bash username
ของฉัน
คุณควรมี 'โครงกระดูก' อยู่ที่ไหนสักแห่งใน/etc
หรืออาจจะเป็น/etc/skeleton
หรือตรวจสอบการตั้งค่าเริ่มต้นอาจ/etc/default
หรือบางสิ่งบางอย่าง เหล่านั้นคือสคริปต์ที่กำหนดตัวแปรสภาพแวดล้อมมาตรฐานที่ได้รับการตั้งค่าในระหว่างการเข้าสู่ระบบ
ถ้ามันเป็นเพียงสำหรับบัญชีของคุณเอง: ตรวจสอบ (ซ่อน) ไฟล์และ~/.profile
~/.login
หรือสร้างพวกเขาหากพวกเขาไม่อยู่ สิ่งเหล่านี้จะถูกประเมินโดยกระบวนการล็อกอิน
/etc/default/useradd