เป็นไปได้อย่างไรที่จะเปลี่ยนเปลือกเริ่มต้น 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