ตั้งเชลล์เริ่มต้นเป็น MacPorts ทุบตีใน Mac OS X 10.6.8?


11

ตามคำถามก่อนหน้านี้ฉันได้ติดตั้ง MacPorts ใหม่และต้องการลองทุบตีรุ่นใหม่กว่าอีกครั้ง

ฉันติดตั้ง bash ใหม่ล่าสุดผ่าน MacPorts ในระบบ Mac OS X 10.6.8 ของฉัน แต่เมื่อฉันเริ่มเซสชัน Terminal.app คำสั่ง "sh --version" แสดงว่าฉันยังคงใช้ bash รุ่นเก่า 3.2.48 นี่คือแม้เมื่อ "ซึ่งทุบตี" ชี้ไปที่ 4.2.37 รุ่นใหม่ที่ติดตั้งโดย MacPorts

ฉันพยายามเปลี่ยนการตั้งค่า Terminal.app เพื่อใช้ bash ใหม่เป็นค่าเริ่มต้นเปลี่ยน / etc / shells และใช้คำสั่ง chsh เพื่อระบุ MacPorts bash เป็นค่าเริ่มต้น อย่างไรก็ตามวิธีการเหล่านี้ไม่ประสบความสำเร็จ ฉันกำลังคิดถึงอะไร ขอบคุณมาก.


1
ดังนั้นคุณได้ทำลายเปลือกหอยไปแล้วและคุณต้องการดูวิธีการทำมันอีกครั้ง? เหตุผลwhich bashแสดงเชลล์ที่ใหม่กว่า แต่คุณกำลังรันเชลล์ที่เก่ากว่านั่นคือเชลล์ถูกเรียกใช้โดยพา ธ สัมบูรณ์ (/ bin / bash) และไม่เชื่อฟังพา ธ ซึ่งจะไม่สำคัญต่อไปเนื่องจากเส้นทางไม่ได้ถูกตั้งค่าให้รวม MacPorts จนกว่า. bashrc จะทำงาน
Alan Shutko

คำตอบ:


18

sh --version/bin/sh --versionอาจจะเป็นเช่นเดียวกับ echo $BASH_VERSIONถ้าเปลือกปัจจุบันเป็นทุบตีคุณสามารถดูรุ่นด้วย หากคุณเปลี่ยนเปลือกเข้าสู่ระบบเริ่มต้นด้วย chsh คุณสามารถเก็บเปลือกเริ่มต้นของ Terminal เป็นเปลือกเข้าสู่ระบบ

  1. sudo port install bash
  2. เพิ่ม/opt/local/bin/bashไปยัง/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. เปิดแท็บใหม่และตรวจสอบ echo $BASH_VERSION

echo $SHELLบ่งชี้อย่างชัดเจนว่าเชลล์ใดกำลังทำงานอยู่
Victor Sergienko
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.