ฉันจะเปลี่ยน bash prompt เพื่อแสดงไดเร็กตอรี่ทำงานได้อย่างไร?


33

ฉันสามารถพิมพ์ dir ที่ทำงานในปัจจุบันของฉันเช่นนี้

myPrompt$ pwd
/Users/me/myDir

ฉันต้องการเปลือกของฉันเป็นแบบนี้

/Users/me/myDir$ pwd
/Users/me/myDir

เป็นไปได้ไหม ฉันจะทำมันได้อย่างไร


บน OS X ชื่อของไฟล์คือ. bash_profile ไม่เพียง แต่. profile ที่จะโหลดอัตโนมัติให้คุณ

ไม่มาก OSX เริ่มต้นเปลือกเข้าสู่ระบบโดยค่าเริ่มต้นและวิธีการที่ทุบตีรูปลักษณ์สำหรับ~/.bash_profile, ~/.bash_loginและ~/.profileในลำดับที่และอ่านและคำสั่งรันจากคนแรกที่มีอยู่และสามารถอ่านได้ ไม่ว่าในกรณีใด ๆ นี่เป็นความคิดเห็นจริงๆและไม่ใช่คำตอบดังนั้นฉันจึงแปลงเป็นหนึ่ง
terdon

คำตอบ:


39

คุณสามารถใช้ลำดับหนีพร้อมรับคำตัวแปร

ใส่สิ่งนี้ใน~/.bashrc:

PS1='\w\$ '

2
ขอบคุณ ฉันทำการเปลี่ยนแปลงนั้น ตอนนี้ฉันเห็นแล้ว: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ .... ฉันต้องการแสดงเฉพาะส่วนที่ระบุว่า "tmp" สำหรับข้อความแจ้งเตือนของฉัน ฉันจะซ่อนส่วนที่เหลือได้อย่างไร ฉันต้องการซ่อนชิ้นส่วน "abramhandler" และ "Abram's-MacBook-Air-3"
bernie2436

7
@ akh2103 ใช้แทน\W \wดูลิงก์ที่ Gilles มอบให้คุณสำหรับคำอธิบายสั้น ๆ เกี่ยวกับรหัสหลบหนี
terdon

@terdon ฉันเห็นสิ่งเดียวกันกับ \ W และ \ w ฉันใช้งาน Unix บน OSX
bernie2436

2
@ akh2103 หากคุณใช้ OSX และใช้แอปเทอร์มินัลคุณควรทำการเปลี่ยนแปลง ~ / .profile ไม่ใช่. bashrc เนื่องจากเทอร์มินัลรันเชลล์การเข้าสู่ระบบตามค่าเริ่มต้น คุณควรแหล่ง ~ / .profile หรือเปิดเทอร์มินัลใหม่เพื่อให้การเปลี่ยนแปลงมีผล นอกจากนี้โปรดแก้ไขเพื่อเพิ่มข้อมูลเพิ่มเติมฉันไม่เข้าใจสิ่งที่คุณขอจากความคิดเห็นล่าสุดของคุณ
terdon

@terdon เมื่อฉันเรียกใช้ซอร์ส ~ / .profile มันเปลี่ยนพา ธ อย่างถูกต้องในเทอร์มินัลปัจจุบัน แต่เมื่อฉันเปิดเทอร์มินัลใหม่ฉันก็ยังเห็น "แม็คบุ๊คอากาศ" ของ abram "ฉันพยายามเพิ่มซอร์ส ~ / .profile ให้กับทั้งไฟล์. profile และ. bashrc แต่ก็ไม่มีโชค ความคิดใด ๆ
bernie2436

4

นี่คือหนึ่งซับสำหรับ OSX มันผนวกพรอมต์ที่คุณต้องการในไฟล์โปรไฟล์แล้วโหลดโปรไฟล์อีกครั้ง

echo "PS1='\w\$ '" >> ~/.bash_profile; source ~/.bash_profile

ใน El Capitan คุณจะต้องการใช้

echo "PS1='\w\$ '" >> ~/.profile; source ~/.profile

1

ด้วยเหตุผลบางอย่างใช้งาน'\w\$'ไม่ได้สำหรับฉัน แต่ฉันกลับ: export PS1="$(pwd) \$"และมันก็ใช้ได้


4
ที่จะไม่ทำงานดีเกินไปเมื่อคุณเปลี่ยนไดเรกทอรี ...
สตีเฟ่นกิต

0

ดูเหมือนว่าจะเป็นเธรดเก่า แต่ขั้นตอนด้านล่างนี้ใช้งานได้กับฉันใน OS X 10.9.5

  • ใส่PS1='\w\$ 'ใน~/.profile
  • หากคุณทำการเปลี่ยนแปลงใด ๆ ในการ~/.bashrcลบออก
  • ปิดเทอร์มินัลด้วยcmd+q
  • เปิดเทอร์มินัลอีกครั้ง

1
ในกรณีของฉันเส้นทางที่สมบูรณ์มีขนาดใหญ่มากดังนั้นฉันจึงเพิ่มธงอีกหนึ่งรายการสำหรับบรรทัดถัดไปเช่น PS1 = '\ w \ n \ $'
ผู้ชนะ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.